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: - Report Criando 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- DataSet Criando 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 Parent Atualizando um item existente: UpdateContent em Item Atualizando as propriedades do item: UpdateContent E UpdateProperties em Item - DataSource :Criando uma nova fonte de dados: CreateDatasource em Parent Atualizando 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: - Report Criando 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 Definition Atualizando 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 Definition Item (se Properties contiver propriedades)- DataSet Criando 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 Definition Atualizando 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 Parent Atualizando 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.