ReportingService2010.CreateCatalogItem Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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 informeActualizació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 datosActualizació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 Item UpdateReportDefinition- 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 (Item si 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.