Méthode GetItemDefinition

Récupère la définition ou le contenu d'un élément. Cette méthode s'applique aux types d'élément Rapport, Modèle, Dataset, Composant, Ressource et DataSource.

Espace de noms :  ReportService2010
Assembly :  ReportService2010 (en ReportService2010.dll)

Syntaxe

'Déclaration
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemDefinition", RequestNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
Public Function GetItemDefinition ( _
    ItemPath As String _
) As Byte()
'Utilisation
Dim instance As ReportingService2010
Dim ItemPath As String
Dim returnValue As Byte()

returnValue = instance.GetItemDefinition(ItemPath)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemDefinition", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
[SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)]
[SoapHeaderAttribute("TrustedUserHeaderValue")]
public byte[] GetItemDefinition(
    string ItemPath
)
[SoapDocumentMethodAttribute(L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemDefinition", RequestNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = L"https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse::Literal, ParameterStyle = SoapParameterStyle::Wrapped)]
[SoapHeaderAttribute(L"ServerInfoHeaderValue", Direction = SoapHeaderDirection::Out)]
[SoapHeaderAttribute(L"TrustedUserHeaderValue")]
public:
array<unsigned char>^ GetItemDefinition(
    String^ ItemPath
)
[<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer/GetItemDefinition", RequestNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    ResponseNamespace = "https://schemas.microsoft.com/sqlserver/reporting/2010/03/01/ReportServer", 
    Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)>]
[<SoapHeaderAttribute("ServerInfoHeaderValue", Direction = SoapHeaderDirection.Out)>]
[<SoapHeaderAttribute("TrustedUserHeaderValue")>]
member GetItemDefinition : 
        ItemPath:string -> byte[] 
public function GetItemDefinition(
    ItemPath : String
) : byte[]

Paramètres

  • ItemPath
    Type : System. . :: . .String
    URL complète de l'élément, y compris le nom du fichier et, en mode SharePoint, l'extension.

Valeur de retour

Type : array<System. . :: . .Byte> [] () [] []
Définition de l'élément en tant que tableau d'octets encodé en base 64. Pour plus d'informations sur ce type de données, consultez la section « Byte Structure » (Structure des octets) dans la documentation qui accompagne Microsoft.NET Framework.

Notes

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:

SharePoint Mode Required Permissions

OpenItems()()()()

Exemples

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