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 de servidor de relatórios ou a uma biblioteca do SharePoint. Esse método se aplica aos Reporttipos de item, Model, Dataset, Component, Resource, e DataSource item.
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 de item.
- Name
- String
O nome do novo item, incluindo a extensão do arquivo no modo SharePoint.
- Parent
- String
A URL totalmente qualificada para a pasta pai que conterá o item.
- Overwrite
- Boolean
Uma Boolean expressão que indica se um item existente com o mesmo nome na localização especificada deve ser sobrescrevido.
- Definition
- Byte[]
A definição do relatório .rdl, definição do modelo de relatório ou conteúdo de recursos para publicar no servidor de relatório.
- Properties
- Property[]
Um array de Property objetos que contém os nomes das propriedades e valores a serem definidos para o item.
- Warnings
- Warning[]
[fora] Um array de Warning objetos que descreve quaisquer avisos que ocorreram quando o item foi validado.
Retornos
Um CatalogItem objeto para o 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 abaixo mostra informações sobre cabeçalhos e permissões sobre esta operação.
| Uso do Cabeçalho SOAP | (Em) TrustedUserHeaderValue (Fora) ServerInfoHeaderValue |
| Modo Nativo Necessário Permissões | Depende do tipo de item: - ReportCriando um novo relatório: CreateReport sobre Parent E ReadProperties sobre as fontes de dados do relatório E ReadProperties sobre os conjuntos de dados do relatórioAtualização de um relatório existente: UpdateReportDefinition em Item (se Properties contiver propriedades) E UpdateProperties em Item E UpdateProperties nas fontes de dados do relatório E UpdateProperties nos conjuntos de dados do relatório- DataSetCriando um novo conjunto de dados compartilhado: CreateReport sobre Parent E ReadProperties sobre as fontes de dados do conjunto de dadosAtualização de um conjunto de dados compartilhado existente: em E em Item (se Properties contiver propriedades) E UpdateProperties nas fontes de dados do conjunto UpdateProperties de dados ItemUpdateReportDefinition- Resource, Component:Criando um novo item: CreateResource em ParentAtualizando um item existente: UpdateContent ligado ItemAtualizando propriedades do item: UpdateContent E UpdateProperties ligado Item- DataSource:Criando uma nova fonte de dados: CreateDatasource em ParentAtualizando uma fonte de dados existente: UpdateContent Atualizando propriedades da fonte de dados: UpdateContent E UpdateProperties - Model: CreateModel |
| Permissões Necessárias no Modo SharePoint | Depende do tipo de item: - ReportCriando um novo relatório: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> sobre Parent E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sobre fontes de dados e conjuntos de dados definidos em DefinitionAtualização de um relatório existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sobre fontes de dados e conjuntos de dados definidos em Definition E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em Item (se Properties contém 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: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> em Item E <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> em fontes de dados definidas em<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems>Definitionem Item (se Properties contém propriedades)- Resource, DataSource, Component:Criando um novo item: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> em ParentAtualizando um item existente: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> ligado Item- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> ligado Parent |
Esse método pode criar itens de todos os tipos suportados. Para ver quais tipos de itens são suportados, use o ListItemTypes método.
O Model tipo de item não pode ser sobrescrevido. Portanto, o Overwrite parâmetro deve ser False se ItemType for Model. Caso contrário, uma exceção rsInvalidParameterCombination é lançada.
Se ItemType for Report, então os dados XML são definidos pela Linguagem de Definição de Relatório. Se ItemType for Model, então os dados XML são definidos pela Linguagem de Definição de Modelo Semântico.
Se ocorrerem erros, o item não é criado.
Adicionar um item a um banco de dados servidor de relatórios ou a uma biblioteca biblioteca do SharePoint modifica as ModifiedBy propriedades e ModifiedDate da pasta pai.
Se a extensão do 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 é lançada 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 frente (/) para separar itens no nome completo do caminho da pasta, mas não pode usá-lo no final do nome da pasta.