ReportingService2010.GetItemDefinition(String) Método

Definición

Recupera la definición o contenido para un elemento. Este método se aplica a los tipos de elementos Report, Model, Dataset, Component, Resource y DataSource.

public:
 cli::array <System::Byte> ^ GetItemDefinition(System::String ^ ItemPath);
[System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemDefinition", 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("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)]
[System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")]
public byte[] GetItemDefinition (string ItemPath);
[<System.Web.Services.Protocols.SoapDocumentMethod("http://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemDefinition", 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("ServerInfoHeaderValue", Direction=System.Web.Services.Protocols.SoapHeaderDirection.Out)>]
[<System.Web.Services.Protocols.SoapHeader("TrustedUserHeaderValue")>]
member this.GetItemDefinition : string -> byte[]
Public Function GetItemDefinition (ItemPath As String) As Byte()

Parámetros

ItemPath
String

Dirección URL completa del elemento, incluidos el nombre de archivo y la extensión, en modo de SharePoint.

Devoluciones

Byte[]

Definición del elemento como una matriz de bytes codificada en Base 64. Para obtener más información acerca de este tipo de datos, vea "Estructura de bytes" en la documentación de Microsoft .NET Framework.

Atributos

Ejemplos

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;  

        string reportName = "http://<Server Name>/Docs/Documents" +  
            "/AdventureWorks Sample Reports/Sales Order Detail.rdl";  
        byte[] reportDefinition = null;  
        System.Xml.XmlDocument doc = new System.Xml.XmlDocument();  

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

            string myDocumentsFolder =   
                Environment.GetFolderPath(  
                    Environment.SpecialFolder.Personal);  

            doc.Load(stream);  
            doc.Save(Path.Combine(myDocumentsFolder,   
                "Sales Order Detail.rdl"));  
        }  
        catch (SoapException e)  
        {  
            Console.WriteLine(e.Detail.InnerXml.ToString());  
        }  
        catch (IOException e)  
        {  
            Console.WriteLine(e.Message);  
        }  
    }  
}  
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 reportName As String = "http://<Server Name>" + _  
            "/Docs/Documents/AdventureWorks Sample Reports" + _  
            "/Sales Order Detail.rdl"  
        Dim reportDefinition As Byte() = Nothing  
        Dim doc As New System.Xml.XmlDocument  

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

            Dim myDocumentsFolder As String = _  
                My.Computer.FileSystem.SpecialDirectories.MyDocuments  
            doc.Load(stream)  
            doc.Save(Path.Combine(myDocumentsFolder, _  
                "Sales Order Detail.rdl"))  

        Catch e As SoapException  
            Console.WriteLine(e.Detail.InnerXml.ToString())  
        Catch e As IOException  
            Console.WriteLine(e.Message)  
        End Try  

    End Sub  

End Class  

Comentarios

En la siguiente tabla se muestra la información de encabezado y de permisos de esta operación.

Uso del encabezado SOAP (In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue
Permisos necesarios en modo nativo Depende del tipo de elemento:

- Report, DataSet: ReadReportDefinition
- Resource, Component: ReadContent
- DataSource: ReadContent
- Model: ReadContent
Permisos necesarios en modo de SharePoint <xref:Microsoft.SharePoint.SPBasePermissions.OpenItems>

Se aplica a