ReportingService2010.CreateCatalogItem Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет новый элемент в базу данных сервера отчетов или в библиотеку SharePoint Этот метод применим к элементам типа Report
, Model
, Dataset
, Component
, Resource
и 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
Параметры
- ItemType
- String
Тип элемента.
- Name
- String
Имя нового элемента, включая расширение файла в режиме интеграции с SharePoint.
- Parent
- String
Полный URL-адрес родительской папки, в которой будет содержаться элемент.
- Overwrite
- Boolean
Выражение типа Boolean
, которое показывает, следует ли перезаписывать существующий элемент в указанном расположении в случае совпадения имен.
- Definition
- Byte[]
RDL-файл определения отчета, определение модели отчета или содержимое ресурса для публикации на сервере отчетов.
- Properties
- Property[]
Массив объектов Property, который содержит имена и значения свойств, задаваемых для элемента.
- Warnings
- Warning[]
[out] Массив объектов Warning, который описывает все предупреждения, полученные при проверке определения отчета.
Возвращаемое значение
Объект CatalogItem для вновь созданного элемента.
- Атрибуты
Примеры
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
Комментарии
В следующей таблице показаны сведения о заголовках и разрешениях для этой операции.
Использование заголовков SOAP | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Необходимые разрешения в собственном режиме | Зависит от типа элемента: - Report Создание нового отчета: CreateReport on Parent AND ReadProperties on the report's data sources AND ReadProperties on the report's datasetsОбновление существующего отчета: UpdateReportDefinition для Item (если Properties содержит свойства) И UpdateProperties в Item UpdateProperties и в источниках данных отчета И UpdateProperties в наборах данных отчета- DataSet Создание нового общего набора данных: CreateReport в Parent И ReadProperties в источниках данных набора данныхОбновление существующего общего набора данных: UpdateReportDefinition on Item AND UpdateProperties on Item (если Properties содержит свойства) AND UpdateProperties в источниках данных набора данных.- Resource , Component :Создание нового элемента: CreateResource в Parent Обновление существующего элемента: UpdateContent в Item Обновление свойств элемента: UpdateContent И UpdateProperties в Item - DataSource :Создание нового источника данных: CreateDatasource Parent Обновление существующего источника данных: UpdateContent Обновление свойств источника данных: UpdateContent AND UpdateProperties - Model : CreateModel |
Необходимые разрешения в режиме SharePoint | Зависит от типа элемента: - Report Создание нового отчета: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> для источников данных и наборов данных, определенных в Definition Обновление существующего отчета: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Item AND on data <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> sources and datasets defined in Definition AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on Item (если Properties содержит свойства)- DataSet Создание нового общего набора данных: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> в Parent И <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> в источниках данных, определенных в Definition Обновление существующего общего набора данных: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> в Item И <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> в источниках данных, определенных в Definition <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> ( Item если Properties содержит свойства)- Resource , DataSource , Component :Создание нового элемента: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> в Parent Обновление существующего элемента: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> в Item - Model : <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> в Parent |
Этот метод может создавать элементы всех поддерживаемых типов элементов. Чтобы узнать, какие типы элементов поддерживаются, используйте ListItemTypes метод .
Тип Model
элемента не может быть перезаписан. Поэтому параметр должен иметь значение False
, Overwrite
если ItemType
имеет значение Model
. В противном случае создается исключение rsInvalidParameterCombination .
Если ItemType
имеет значение Report
, XML-данные определяются языком определения отчета. Если ItemType
имеет значение Model
, XML-данные определяются языком определения семантической модели.
При возникновении ошибок элемент не создается.
Добавление элемента в базу данных сервера отчетов или библиотеку ModifiedBy SharePoint изменяет свойства и ModifiedDate родительской папки.
Если из имени элемента исключается соответствующее расширение имени файла (например, RDL- файл), rsFileExtensionRequired
возвращается ошибка.
Длина Parent
параметра не может превышать 260 символов. В противном случае создается исключение SOAP с кодом ошибки rsItemLengthExceededed.
Параметр Parent
не может быть пустым или иметь значение NULL или содержать следующие зарезервированные символы: : ? ; @ & = + $ , \ * > < | . "
. Символ косой черты (/) можно использовать для разделения элементов в полном пути к папке, но его нельзя использовать в конце имени папки.