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: - Report Creating 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- DataSet Creating 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 Parent Updating an existing item: UpdateContent on Item Updating item properties: UpdateContent AND UpdateProperties on Item - DataSource :Creating a new data source: CreateDatasource on Parent Updating an existing data source: UpdateContent Updating data source properties: UpdateContent AND UpdateProperties - Model : CreateModel |
SharePoint Mode Required Permissions | Depends on the item type: - Report Creating a new report: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources and datasets defined in Definition Updating 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)- DataSet Creating a new shared dataset: <xref:Microsoft.SharePoint.SPBasePermissions.AddListItems> on Parent AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources defined in Definition Updating 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 Parent Updating 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.