ReportingService2005.GetReportDefinition(String) Method

Definition

Retrieves the report definition for a report.

public:
 cli::array <System::Byte> ^ GetReportDefinition(System::String ^ Report);
public byte[] GetReportDefinition (string Report);
member this.GetReportDefinition : string -> byte[]
Public Function GetReportDefinition (Report As String) As Byte()

Parameters

Report
String

The full path name of the report.

Returns

Byte[]

The report definition as a Base 64-encoded byte array. For more information about this data type, see "Byte Structure" in the Microsoft .NET Framework documentation.

Examples

To compile this code example, you must reference the Reporting Services WSDL and import certain namespaces. For more information, see Compiling and Running Code Examples. The following code example uses the GetReportDefinition method to retrieve the definition of a report and store it as an XML document in the local file system:

Imports System  
Imports System.IO  
Imports System.Web.Services.Protocols  

Class Sample  
   Public Shared Sub Main()  
      Dim rs As New ReportingService2005  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials  

      Dim reportName As String = "/SampleReports/Company Sales"  
      Dim reportDefinition As Byte() = Nothing  
      Dim doc As New System.Xml.XmlDocument  

      Try  
         reportDefinition = rs.GetReportDefinition(reportName)  
         Dim stream As New MemoryStream(reportDefinition)  

         doc.Load(stream)  
         doc.Save("C:\Company Sales.rdl")  

      Catch e As SoapException  
         Console.WriteLine(e.Detail.InnerXml.ToString())  

      Catch e As IOException  
         Console.WriteLine(e.Message)  
      End Try  
   End Sub 'Main  
End Class 'Sample  
using System;  
using System.IO;  
using System.Web.Services.Protocols;  

class Sample  
{  
   public static void Main()  
   {  
      ReportingService2005 rs = new ReportingService2005();  
      rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

      string reportName = "/SampleReports/Company Sales";  
      byte[] reportDefinition = null;  
      System.Xml.XmlDocument doc = new System.Xml.XmlDocument();  

      try  
      {  
         reportDefinition = rs.GetReportDefinition(reportName);  
         MemoryStream stream = new MemoryStream(reportDefinition);  

         doc.Load(stream);  
         doc.Save(@"C:\Company Sales.rdl");  
      }  

      catch (SoapException e)  
      {  
         Console.WriteLine(e.Detail.InnerXml.ToString());   
      }  

      catch (IOException e)  
      {  
         Console.WriteLine(e.Message);  
      }  
   }  
}  

Remarks

The table below shows header and permissions information on this operation.

SOAP Headers (Out) ServerInfoHeaderValue
Required Permissions ReadReportDefinition

Applies to