Compartir a través de


ReportingService2010.CreateCatalogItem Método

Definición

Agrega un nuevo elemento a una base de datos del servidor de informes o a la biblioteca de SharePoint. Este método se aplica a los tipos de elementos Report, Model, Dataset, Component, Resource y DataSource.

public:
 ReportService2010::CatalogItem ^ CreateCatalogItem(System::String ^ ItemType, System::String ^ Name, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2010::Property ^> ^ Properties, [Runtime::InteropServices::Out] cli::array <ReportService2010::Warning ^> ^ % Warnings);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
[System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
public ReportService2010.CatalogItem CreateCatalogItem (string ItemType, string Name, string Parent, bool Overwrite, byte[] Definition, ReportService2010.Property[] Properties, out ReportService2010.Warning[] Warnings);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/CreateCatalogItem", ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped, RequestNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", ResponseNamespace="http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", Use=System.Web.Services.Description.SoapBindingUse.Literal)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
[<System.Web.Services.Protocols.SoapHeader("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
member this.CreateCatalogItem : string * string * string * bool * byte[] * ReportService2010.Property[] * Warning[] -> ReportService2010.CatalogItem
Public Function CreateCatalogItem (ItemType As String, Name As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property(), ByRef Warnings As Warning()) As CatalogItem

Parámetros

ItemType
String

Tipo de elemento.

Name
String

Nombre del nuevo elemento, incluida la extensión de archivo en modo de SharePoint.

Parent
String

Dirección URL completa de la carpeta principal que contendrá el elemento.

Overwrite
Boolean

Expresión Boolean que indica si un elemento existente con el mismo nombre y en la ubicación especificada se debe sobrescribir.

Definition
Byte[]

Definición de informe .rdl, definición del modelo de informe o contenido del recurso que se va a publicar en el servidor de informes.

Properties
Property[]

Matriz de objetos Property que contiene los nombres de propiedad y los valores que se establecerán para el elemento.

Warnings
Warning[]

[salida] Matriz de objetos Warning que describe las advertencias que se produjeron al validar el elemento.

Devoluciones

Objeto CatalogItem para el elemento creado recientemente.

Atributos

Ejemplos

using System;  
using System.Collections.Generic;  
using System.IO;  
using System.Text;  
using System.Web;  
using System.Web.Services;  
using System.Web.Services.Protocols;  

class Sample  
{  
    static void Main(string[] args)  
    {  
        ReportingService2010 rs = new ReportingService2010();  
        rs.Url = "http://<Server Name>" +  
            "/_vti_bin/ReportServer/ReportService2010.asmx";  
        rs.Credentials =   
            System.Net.CredentialCache.DefaultCredentials;  

        Byte[] definition = null;  
        Warning[] warnings = null;  
        string name = "MyReport.rdl";  

        try  
        {  
            FileStream stream = File.OpenRead("MyReport.rdl");  
            definition = new Byte[stream.Length];  
            stream.Read(definition, 0, (int)stream.Length);  
            stream.Close();  
        }  
        catch (IOException e)  
        {  
            Console.WriteLine(e.Message);  
        }  

        try  
        {  
            string parent = "http://<Server Name>/Docs/Documents/";  
            CatalogItem report = rs.CreateCatalogItem("Report", name, parent,  
                        false, definition, null, out warnings);  

            if (warnings != null)  
            {  
                foreach (Warning warning in warnings)  
                {  
                    Console.WriteLine(warning.Message);  
                }  
            }  

            else  
                Console.WriteLine("Report: {0} created successfully " +  
                                  " with no warnings", name);  
        }  
        catch (SoapException e)  
        {  
            Console.WriteLine(e.Detail.InnerXml.ToString());  
        }  
    }  
}  
Imports System  
Imports System.IO  
Imports System.Text  
Imports System.Web.Services  
Imports System.Web.Services.Protocols  

Class Sample  

    Public Shared Sub Main()  

        Dim rs As New ReportingService2010()  
        rs.Url = "http://<Server Name>" + _  
            "/_vti_bin/ReportServer/ReportService2010.asmx"  
        rs.Credentials = _  
            System.Net.CredentialCache.DefaultCredentials  

        Dim definition As [Byte]() = Nothing  
        Dim warnings As Warning() = Nothing  
        Dim name As String = "MyReport.rdl"  

        Try  
            Dim stream As FileStream = File.OpenRead("MyReport.rdl")  
            definition = New [Byte](stream.Length - 1) {}  
            stream.Read(definition, 0, CInt(stream.Length))  
            stream.Close()  

        Catch e As IOException  
            Console.WriteLine(e.Message)  
        End Try  

        Try  
            Dim parentPath As String = _  
                "http://<Server Name>/Docs/Documents/"  
            rs.CreateCatalogItem("Report", name, parentPath, False, _  
                definition, Nothing, warnings)  

            If Not (warnings Is Nothing) Then  
                Dim warning As Warning  
                For Each warning In warnings  
                    Console.WriteLine(warning.Message)  
                Next warning  

            Else  
                Console.WriteLine("Report: {0} created " + _  
                    "successfully with no warnings", name)  
            End If  

        Catch e As SoapException  
            Console.WriteLine(e.Detail.InnerXml.ToString())  
        End Try  

    End Sub  

End Class  

Comentarios

En la siguiente tabla se muestra la información de encabezado y de permisos de esta operación.

Uso de encabezados SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Permisos necesarios en modo nativo Depende del tipo de elemento:

- Report
Creación de un nuevo informe: CreateReport en Parent AND ReadProperties en los orígenes de datos del informe Y ReadProperties en los conjuntos de datos del informe
Actualización de un informe existente: UpdateReportDefinition en (si Properties contiene propiedades) Y en Item AND UpdatePropertiesUpdateProperties en los orígenes de datos del informe Y UpdateProperties en los conjuntos Item de datos del informe
- DataSet
Creación de un nuevo conjunto de datos compartido: CreateReport en Parent AND ReadProperties en los orígenes de datos del conjunto de datos
Actualización de un conjunto de datos compartido existente: en AND en Item (si Properties contiene propiedades) Y UpdateProperties en los orígenes de datos del conjunto UpdateProperties de datos ItemUpdateReportDefinition
- Resource, Component:
Crear un nuevo elemento: CreateResource activado Parent
Actualización de un elemento existente: UpdateContent activado Item
Actualizar las propiedades del elemento: UpdateContent AND UpdateProperties on Item
- DataSource:
Creación de un nuevo origen de datos: CreateDatasource activado Parent
Actualización de un origen de datos existente: UpdateContent
Actualización de las propiedades del origen de datos: UpdateContent AND UpdateProperties
- Model: CreateModel
Permisos necesarios en modo de SharePoint Depende del tipo de elemento:

- Report
Creación de un nuevo informe: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> en Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> en orígenes de datos y conjuntos de datos definidos en Definition
Actualización de un informe existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> en Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> en orígenes de datos y conjuntos de datos definidos en Definition AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> ( Item si Properties contiene propiedades)
- DataSet
Creación de un nuevo conjunto de datos compartido: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> en Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> en orígenes de datos definidos en Definition
Actualización de un conjunto de datos compartido existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> en Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> en orígenes de datos definidos en<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Definition(Itemsi Properties contiene propiedades)
- Resource, DataSource, Component:
Crear un nuevo elemento: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> activado Parent
Actualización de un elemento existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> activado Item
- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> activado Parent

Este método puede crear elementos de todos los tipos de elementos admitidos. Para ver qué tipos de elemento se admiten, use el ListItemTypes método .

No se puede sobrescribir el Model tipo de elemento. Por lo tanto, el Overwrite parámetro debe ser False si ItemType es Model. De lo contrario, se produce una excepción rsInvalidParameterCombination .

Si ItemType es Report, los datos XML se definen mediante el lenguaje de definición de informe. Si ItemType es Model, los datos XML se definen mediante el lenguaje de definición de modelo semántico.

Si se producen errores, no se crea el elemento.

Al agregar un elemento a una base de datos del servidor de informes o a una biblioteca de SharePoint, se modifican las ModifiedBy propiedades y ModifiedDate de la carpeta primaria.

Si la extensión de nombre de archivo aplicable (por ejemplo, .rdl) se excluye del nombre del elemento, se devolverá un rsFileExtensionRequired error.

La longitud del Parent parámetro no puede superar los 260 caracteres; de lo contrario, se produce una excepción SOAP con el código de error rsItemLengthExceededed.

El Parent parámetro no puede ser nulo ni estar vacío ni contener los siguientes caracteres reservados: : ? ; @ & = + $ , \ * > < | . ". Puede usar el carácter de barra diagonal (/) para separar los elementos del nombre de ruta de acceso completo de la carpeta, pero no puede usarlo al final del nombre de la carpeta.

Se aplica a