ReportingService2010.CreateCatalogItem Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Adiciona um novo item a um banco de dados do servidor de relatório ou à biblioteca do SharePoint. Esse método aplica-se aos tipos de item Report, Model, Dataset, Component, Resource e 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
O tipo do item.
- Name
- String
O nome do novo item, incluindo a extensão do arquivo no modo do SharePoint.
- Parent
- String
A URL totalmente qualificada da pasta pai que conterá o item.
- Overwrite
- Boolean
Uma expressão Boolean que indica se um item existente com o mesmo nome no local especificado deve ser substituído.
- Definition
- Byte[]
A definição de relatório .rdl, a definição de modelo de relatório ou o conteúdo do recurso a ser publicado no servidor de relatório.
- Properties
- Property[]
Uma matriz de objetos Property que contém os nomes e os valores de propriedades a serem definidos para o item.
- Warnings
- Warning[]
[out] Uma matriz de objetos Warning que descreve todos os avisos ocorridos na validação do item.
Retornos
Um objeto CatalogItem do item recém-criado.
- Atributos
Exemplos
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
Comentários
A tabela a seguir mostra o cabeçalho e as informações de permissão sobre esta operação.
| Uso do cabeçalho SOAP | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
| Permissões necessárias do modo nativo | Depende do tipo de item: - ReportCriando um novo relatório: CreateReport em Parent AND ReadProperties nas fontes de dados do relatório E ReadProperties nos conjuntos de dados do relatórioAtualizando um relatório existente: UpdateReportDefinition em (se Properties contiver propriedades) AND UpdateProperties em Item AND UpdateProperties nas fontes de dados do relatório E UpdateProperties nos conjuntos Item de dados do relatório- DataSetCriando um novo conjunto de dados compartilhado: CreateReport em Parent E ReadProperties nas fontes de dados do conjunto de dadosAtualizando um conjunto de dados compartilhado existente: UpdateReportDefinition em Item AND UpdateProperties em Item (se Properties contiver propriedades) E UpdateProperties nas fontes de dados do conjunto de dados- Resource, Component:Criando um novo item: CreateResource em ParentAtualizando um item existente: UpdateContent em ItemAtualizando as propriedades do item: UpdateContent E UpdateProperties em Item- DataSource:Criando uma nova fonte de dados: CreateDatasource em ParentAtualizando uma fonte de dados existente: UpdateContent Atualizando propriedades da fonte de dados: UpdateContent AND UpdateProperties - Model: CreateModel |
| Permissões necessárias do modo do SharePoint | Depende do tipo de item: - ReportCriando um novo relatório: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> no Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados e conjuntos de dados definidos em DefinitionAtualizando um relatório existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados e conjuntos de dados definidos em AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em DefinitionItem (se Properties contiver propriedades)- DataSetCriando um novo conjunto de dados compartilhado: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em Parent E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados definidas em DefinitionAtualizando um conjunto de dados compartilhado existente: em E em fontes de dados definidas em Item<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Definition(se Properties contiver propriedades)<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Item<xref:Microsoft.SharePoint.SPBasePermissions.EditListItems>- Resource, DataSource, Component:Criando um novo item: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em ParentAtualizando um item existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em Parent |
Esse método pode criar itens de todos os tipos de item com suporte. Para ver quais tipos de item têm suporte, use o ListItemTypes método .
O Model tipo de item não pode ser substituído. Portanto, o Overwrite parâmetro deve ser False se ItemType for Model. Caso contrário, uma exceção rsInvalidParameterCombination será gerada.
Se ItemType for Report, os dados XML serão definidos pela Linguagem de Definição de Relatório. Se ItemType for Model, os dados XML serão definidos pela Linguagem de Definição de Modelo Semântico.
Se ocorrerem erros, o item não será criado.
Adicionar um item a um banco de dados do servidor de relatório ou à biblioteca do SharePoint modifica as ModifiedBy propriedades e ModifiedDate da pasta pai.
Se a extensão de nome de arquivo aplicável (por exemplo, .rdl) for excluída do nome do item, um rsFileExtensionRequired erro será retornado.
O comprimento do Parent parâmetro não pode exceder 260 caracteres; caso contrário, uma exceção SOAP é gerada com o código de erro rsItemLengthExceeded.
O Parent parâmetro não pode ser nulo ou vazio ou conter os seguintes caracteres reservados: : ? ; @ & = + $ , \ * > < | . ". Você pode usar o caractere de barra (/) para separar itens no nome do caminho completo da pasta, mas não pode usá-lo no final do nome da pasta.