ReportingService2010.GetItemDefinition(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Récupère la définition ou le contenu d'un élément. Cette méthode s'applique aux types d'élément Report
, Model
, Dataset
, Component
, Resource
et 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()
Paramètres
- ItemPath
- String
URL complète de l'élément, y compris le nom du fichier et, en mode SharePoint, l'extension.
Retours
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.
- Attributs
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
Remarques
Le tableau suivant présente les informations relatives aux en-têtes et aux autorisations sur cette opération.
Utilisation de l’en-tête SOAP | (In) TrustedUserHeaderValue (Out) ServerInfoHeaderValue |
Autorisations requises en mode natif | Dépend du type d’élément : - Report , DataSet : ReadReportDefinition- Resource , Component : ReadContent- DataSource : ReadContent- Model : ReadContent |
Autorisations requises en mode SharePoint | <xref:Microsoft.SharePoint.SPBasePermissions.OpenItems> |