次の方法で共有


GetReportDefinition メソッド

レポートの定義を取得します。

名前空間:  ReportService2006
アセンブリ:  ReportService2006 (ReportService2006.dll)

構文

'宣言
<SoapHeaderAttribute("ServerInfoHeaderValue", Direction := SoapHeaderDirection.Out)> _
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices/GetReportDefinition", RequestNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",  _
    ResponseNamespace := "https://schemas.microsoft.com/sqlserver/2006/03/15/reporting/reportingservices",  _
    Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
<SoapHeaderAttribute("TrustedUserHeaderValue")> _
Public Function GetReportDefinition ( _
    Report As String _
) As Byte()
'使用
Dim instance As ReportingService2006
Dim Report As String
Dim returnValue As Byte()

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

パラメーター

  • Report
    型: System. . :: . .String
    ファイル名と .rdl ファイル名拡張子を含む、レポートの完全修飾 URL です。

戻り値

型: array<System. . :: . .Byte> [] () [] []
Base64 エンコードされたバイト配列で表したレポート定義です。このデータ型の詳細については、Microsoft .NET Framework のドキュメントの「Byte 構造体」を参照してください。

説明

次の表に、この操作に関連するヘッダーおよび権限の情報を示します。

SOAP ヘッダー

(In) TrustedUserHeaderValue

(Out) ServerInfoHeaderValue

必要な権限

OpenItems()()()()

使用例

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;

        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.GetReportDefinition(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 ReportingService2006()
        rs.Url = "http://<Server Name>" + _
            "/_vti_bin/ReportServer/ReportService2006.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.GetReportDefinition(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