次の方法で共有


ReportingService2006.GetReportDefinition メソッド

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

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

構文

'宣言
Public Function GetReportDefinition ( _
    Report As String _
) As Byte()
'使用
Dim instance As ReportingService2006 
Dim Report As String 
Dim returnValue As Byte()

returnValue = instance.GetReportDefinition(Report)
public byte[] GetReportDefinition(
    string Report
)
public:
array<unsigned char>^ GetReportDefinition(
    String^ Report
)
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

関連項目

参照

ReportingService2006 クラス

ReportService2006 名前空間