ReportingService2010.CreateCatalogItem Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Adds a new item to a report server database or SharePoint library. This method applies to the Report, Model, Dataset, Component, Resource, and DataSource item types.
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
Parameters
- ItemType
- String
The item type.
- Name
- String
The name of the new item, including the file extension in SharePoint mode.
- Parent
- String
The fully qualified URL for the parent folder that will contain the item.
- Overwrite
- Boolean
A Boolean expression that indicates whether an existing item that has the same name in the location specified should be overwritten.
- Definition
- Byte[]
The .rdl report definition, report model definition, or resource content to publish to the report server.
- Properties
- Property[]
An array of Property objects that contains the property names and values to set for the item.
- Warnings
- Warning[]
[out] An array of Warning objects that describes any warnings that occurred when the item was validated.
Returns
A CatalogItem object for the newly created item.
- Attributes
Examples
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
Remarks
The table below shows header and permissions information on this operation.
| SOAP Header Usage | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
| Native Mode Required Permissions | Depends on the item type: - ReportCreating a new report: CreateReport on Parent AND ReadProperties on the report's data sources AND ReadProperties on the report's datasetsUpdating an existing report: UpdateReportDefinition on Item (if Properties contains properties) AND UpdateProperties on Item AND UpdateProperties on the report's data sources AND UpdateProperties on the report's datasets- DataSetCreating a new shared dataset: CreateReport on Parent AND ReadProperties on dataset's data sourcesUpdating an existing shared dataset: UpdateReportDefinition on Item AND UpdateProperties on Item (if Properties contains properties) AND UpdateProperties on the dataset's data sources- Resource, Component:Creating a new item: CreateResource on ParentUpdating an existing item: UpdateContent on ItemUpdating item properties: UpdateContent AND UpdateProperties on Item- DataSource:Creating a new data source: CreateDatasource on ParentUpdating an existing data source: UpdateContent Updating data source properties: UpdateContent AND UpdateProperties - Model: CreateModel |
| SharePoint Mode Required Permissions | Depends on the item type: - ReportCreating a new report: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources and datasets defined in DefinitionUpdating an existing report: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources and datasets defined in Definition AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on Item (if Properties contains properties)- DataSetCreating a new shared dataset: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources defined in DefinitionUpdating an existing shared dataset: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Item AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources defined in Definition<xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on Item (if Properties contains properties)- Resource, DataSource, Component:Creating a new item: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on ParentUpdating an existing item: <xref:Microsoft.SharePoint.SPBasePermissions.EditListItems> on Item- Model: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent |
This method can create items of all supported item types. To see what item types are supported, use the ListItemTypes method.
The Model item type cannot be overwritten. Therefore, the Overwrite parameter must be False if ItemType is Model. Otherwise, an rsInvalidParameterCombination exception is thrown.
If ItemType is Report, then the XML data is defined by the Report Definition Language. If ItemType is Model, then the XML data is defined by the Semantic Model Definition Language.
If errors occur, the item is not created.
Adding an item to a report server database or SharePoint library modifies the ModifiedBy and ModifiedDate properties of the parent folder.
If the applicable file name extension (for example, .rdl) is excluded from the item name, an rsFileExtensionRequired error will be returned.
The length of the Parent parameter cannot exceed 260 characters; otherwise, a SOAP exception is thrown with the error code rsItemLengthExceeded.
The Parent parameter cannot be null or empty or contain the following reserved characters: : ? ; @ & = + $ , \ * > < | . ". You can use the forward slash character (/) to separate items in the full path name of the folder, but you cannot use it at the end of the folder name.