ReportingService2006.CreateReport 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 report to a SharePoint library.
public:
ReportService2006::CatalogItem ^ CreateReport(System::String ^ Report, System::String ^ Parent, bool Overwrite, cli::array <System::Byte> ^ Definition, cli::array <ReportService2006::Property ^> ^ Properties, [Runtime::InteropServices::Out] cli::array <ReportService2006::Warning ^> ^ % Warnings);
public ReportService2006.CatalogItem CreateReport (string Report, string Parent, bool Overwrite, byte[] Definition, ReportService2006.Property[] Properties, out ReportService2006.Warning[] Warnings);
member this.CreateReport : string * string * bool * byte[] * ReportService2006.Property[] * Warning[] -> ReportService2006.CatalogItem
Public Function CreateReport (Report As String, Parent As String, Overwrite As Boolean, Definition As Byte(), Properties As Property(), ByRef Warnings As Warning()) As CatalogItem
Parameters
- Report
- String
The name of the new report including the file name and .rdl file name extension.
- Parent
- String
The fully qualified URL for the parent folder that will contain the report.
- Overwrite
- Boolean
A Boolean
expression that indicates whether an existing report that has the same name in the location specified should be overwritten.
- Definition
- Byte[]
The report definition to publish to the report server, which is the content of an .rdl file. The XML data is defined by the http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition/ Report Definition Language .
- Properties
- Property[]
An array of Property objects that contains the property names and values to set for the report.
- Warnings
- Warning[]
[out] An array of Warning objects that describes any warnings that occurred when the report definition was validated.
Returns
A CatalogItem object for the newly created report.
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)
{
ReportingService2006 rs = new ReportingService2006();
rs.Url = "http://<Server Name>" +
"/_vti_bin/ReportServer/ReportService2006.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.CreateReport(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 ReportingService2006()
rs.Url = "http://<Server Name>" + _
"/_vti_bin/ReportServer/ReportService2006.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.CreateReport(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 Headers | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Required Permissions | 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 Report AND <xref:Microsoft.SharePoint.SPBasePermissions.ViewListItems> on data sources and datasets defined in Definition |
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.
If errors occur, the report is not created.
Adding a report to a SharePoint library modifies the ModifiedBy and ModifiedDate properties of the parent folder.
If the .rdl file name extension is excluded from the report name, an rsFileExtensionRequired
error will be returned.