Web サービス プロキシの作成Creating the Web Service Proxy

クライアントと Web サービスは、SOAP メッセージを使用して通信できます。SOAP メッセージは、入力パラメーターと出力パラメーターを XML としてカプセル化します。A client and a Web service can communicate using SOAP messages, which encapsulate the input and output parameters as XML. プロキシ クラスは、パラメーターを XML 要素にマップした後、ネットワークを介して SOAP メッセージを送信します。A proxy class maps parameters to XML elements and then sends the SOAP messages over a network. この方法では、プロキシ クラスによって、SOAP レベルで Web サービスと通信する必要がなくなり、SOAP および Web サービスのプロキシをサポートするあらゆる開発環境で Web サービスを呼び出すことができます。In this way, the proxy class frees you from having to communicate with the Web service at the SOAP level and allows you to invoke Web service methods in any development environment that supports SOAP and Web service proxies.

MicrosoftMicrosoft .NET Framework.NET Framework を使用してご自分の開発プロジェクトにプロキシ クラスを追加するには、.NET Framework.NET Framework の WSDL ツールを使用する方法と、MicrosoftMicrosoftVisual StudioVisual Studio で Web 参照を追加する方法の 2 種類があります。There are two ways to add a proxy class to your development project using the MicrosoftMicrosoft .NET Framework.NET Framework: with the WSDL tool in the .NET Framework.NET Framework, and by adding a Web reference in MicrosoftMicrosoft Visual StudioVisual Studio. ここでは、これらの方法について詳しく説明します。The following sections discuss this subject in further detail.

WSDL ツールを使用したプロキシの追加Adding the Proxy Using the WSDL Tool

.NET Framework.NET Framework SDK には、Web サービス記述言語ツール (Wsdl.exe) が含まれています。これにより、.NET Framework.NET Framework 開発環境で使用する Web サービス プロキシを生成できます。The .NET Framework.NET Framework SDK includes the Web Services Description Language tool (Wsdl.exe), which enables you to generate a Web service proxy for use in the .NET Framework.NET Framework development environment. Web サービスをサポートする言語 (現在は C# と MicrosoftMicrosoft Visual BasicVisual Basic) でクライアント プロキシを作成する場合に最も一般的な方法は、WSDL ツールを使用することです。The most common way to create a client proxy in languages that support Web services (currently C# and MicrosoftMicrosoft Visual BasicVisual Basic) is to use the WSDL tool.

Wsdl.exe を使用してプロキシ クラスをプロジェクトに追加するにはTo add a proxy class to your project using Wsdl.exe

  1. コマンド プロンプトから、Wsdl.exe を使用してプロキシ クラスを作成します。最低限レポート サーバー Web サービスへの URL を指定します。From a command prompt, use Wsdl.exe to create a proxy class, specifying (at a minimum) the URL to the Report Server Web service.

    たとえば、次のコマンド プロンプト ステートメントは、レポート サーバー Web サービスの管理用エンドポイントの URL を指定します。For example, the following command prompt statement specifies a URL for the management endpoint of the Report Server Web service:

    wsdl /language:CS /n:"Microsoft.SqlServer.ReportingServices2010" https://<Server Name>/reportserver/reportservice2010.asmx?wsdl  

    WSDL ツールは、プロキシ生成用のコマンド プロンプト引数の数値を受け付けます。The WSDL tool accepts a number of command-prompt arguments for generating a proxy. 前の例は C# 言語、プロキシに使用する推奨名前空間 (Web サービス エンドポイントを複数使用する場合に名前の衝突を避けるため) を指定し、ReportingService2010.cs という名前の C# ファイルを生成します。The preceding example specifies the language C#, a suggested namespace to use in the proxy (to prevent name collision if using more than one Web service endpoint), and generates a C# file called ReportingService2010.cs. この例で Visual BasicVisual Basic を指定した場合は、ReportingService2010.vb という名前のプロキシ ファイルが生成されます。If the example had specified Visual BasicVisual Basic, the example would have generated a proxy file with the name ReportingService2010.vb. このファイルは、コマンド実行元のディレクトリに作成されます。This file is created in the directory from which you run the command.

  2. プロキシ クラスをアセンブリ ファイル (拡張子 .dll) にコンパイルし、それをプロジェクトで参照するか、またはプロキシ クラスをプロジェクト アイテムとして追加します。Compile the proxy class into an assembly file (with the extension .dll) and reference it in your project, or add the class as a project item.


    プロキシ クラスをプロジェクトに手動で追加する場合は、System.Web.Services.dll への参照を追加する必要があります。When you add a proxy class to your project manually, you need to add a reference to System.Web.Services.dll. Visual Studio .NET で Web 参照を使用してプロキシを追加する場合は、参照が自動的に作成されます。If you add the proxy using a Web reference in Visual Studio .NET, the reference is automatically created for you. 詳細については、この後の「Visual Studio で Web 参照を使用するプロキシの追加」を参照してください。For more information, see "Adding the Proxy Using a Web Reference in Visual Studio" later in this topic.

    プロキシ クラスをアイテムとしてプロジェクトに追加した後、関連付けられたファイルがソリューション エクスプローラーに表示されます。After you add the proxy class as an item to your project, the associated file appears in Solution Explorer.

  3. プログラムによってサービスを呼び出すには、プロキシ クラスのインスタンスを作成します。To call the service programmatically, create an instance of the proxy class.

    次のコード例は、プロジェクトに ReportingService2010 プロキシ クラスのインスタンスを作成する場合の構文を示しています。The following code example shows the syntax for creating an instance of the ReportingService2010 proxy class in a project:

Dim service As New ReportingService2010()  
ReportingService2010 service = new ReportingService2010();  

完全な構文を含む Wsdl.exe ツールの詳細については、.NET Framework.NET Framework SDK ドキュメントの「Web サービス記述言語ツール」を参照してください。For more information about the Wsdl.exe tool, including its full syntax, see "Web Services Description Language Tool" in the .NET Framework.NET Framework SDK documentation. Web サービス プロキシの詳しい説明は、.NET Framework.NET Framework SDK ドキュメントの「XML Web サービス プロキシの作成」を参照してください。For a full explanation of Web service proxies, see "Creating an XML Web Service Proxy" in the .NET Framework.NET Framework SDK documentation.

Visual Studio で Web 参照を使用するプロキシの追加Adding the Proxy Using a Web Reference in Visual Studio

Web 参照によって、プロジェクトで 1 つ以上の Web サービスを使用できます。A Web reference enables a project to consume one or more Web services. Visual StudioVisual Studio では、ユーザーが次の簡単な手順に従うことによって、Web サービスの参照をプロジェクトに追加できます。enables users to add Web service references to projects by following a few simple steps.

Web 参照をプロジェクトに追加するにはTo add a Web reference to a project

  1. ソリューション エクスプローラー で、Web サービスを使用するプロジェクトを選択します。In Solution Explorer, select the project that will consume the Web service.

  2. [プロジェクト] メニューの [Web 参照の追加] をクリックします。On the Project menu, click Add Web Reference.

    [Web 参照の追加] ダイアログ ボックスが開きます。The Add Web Reference dialog box opens.

  3. [URL] フィールドに、レポート サーバー Web サービスへの完全なパスを入力します。In the URL field, enter the complete path to the Report Server Web service.

    レポート サーバー Web サービスのレポート実行エンドポイントの単純な URL は、次のようになります。A simplified URL for the report execution endpoint of the Report Server Web service might look like this:

    https://<Server Name>/reportserver/reportexecution2005.asmx  

    URL には、レポート サーバー Web サービスを配置するドメイン、Web サービスを格納するフォルダー名、および Web サービスの検出ファイル名が含まれます。The URL contains the domain in which the Report Server Web service is deployed, the name of the folder containing the service, and the name of the discovery file for the service. 各種 URL 要素の完全な説明については、「SOAP API へのアクセス」を参照してください。For a complete description of the different URL elements, see Accessing the SOAP API.

    Web サービスによって提供されるメソッドとプロパティの説明が、左側のブラウザー ペインに表示されます。A description of the methods and properties provided by the Web service appears in the Browser pane on the left.


    レポート サーバー Web サービスに関連付けられたアイテムの詳細については、「レポート サーバー Web サービス メソッド」を参照してください。For more information about the items associated with the Report Server Web service, see Report Server Web Service Methods.

  4. プロジェクトでレポート サーバー Web サービスを使用できること、およびレポート サーバーにアクセスするための適切な権限を持っていることを確認します。Verify that your project can use the Report Server Web service, and that you have appropriate permission to access the report server.

  5. [Web 参照名] フィールドに、プログラムによってレポート サーバー Web サービスにアクセスする場合にコードで使用する名前を入力します。In the Web reference name field, enter a name that you will use in your code to access the Report Server Web service programmatically.

  6. [参照の追加] を選択し、アプリケーションで Web サービスへの参照を作成します。Select the Add Reference button to create a reference in your application to the Web service.

    アクティブなプロジェクトの [Web 参照] ノードの下にある [ソリューション エクスプローラー] に、新しい参照が [Web 参照名] フィールドに指定した名前で表示されます。The new reference appears in Solution Explorer under the Web References node for the active project, named as specified in the Web reference name field.

  7. [ソリューション エクスプローラー] で、[Web 参照] フォルダーを展開し、プロジェクトのアイテムで使用できる Web 参照クラスの名前空間をメモします。In Solution Explorer, expand the Web References folder to note the namespace for the Web reference classes that are available to the items in your project.

    Web 参照をプロジェクトに追加した後、関連付けられたファイルが [ソリューション エクスプローラー] の [Web 参照] フォルダー内にあるフォルダーに表示されます。After adding a Web reference to your project, the associated files are displayed in a folder within the Web References folder of Solution Explorer.

Web 参照を追加した後に、次の構文を使用してプロキシ クラスのインスタンスを作成します。After you add the Web reference, use the following syntax to create an instance of the proxy class:

Dim rs As New myNamespace.myReferenceName.ReportExecutionService()  
rs.Url = "https://<Server Name>/reportserver/reportexecution2005.asmx?wsdl"  
rs.Credentials = System.Net.CredentialCache.DefaultCredentials  
myNamespace.myReferenceName.ReportExecutionService rs = new myNamespace.myReferenceName.ReportExecutionService();  
rs.Url = "https://<Server Name>/reportserver/reportexecution2005.asmx?wsdl";  
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;  

using (Visual BasicVisual Basic では Import) ディレクティブをレポート サーバー Web サービス参照に追加することもできます。You can also add a using (Import in Visual BasicVisual Basic) directive to the Report Server Web service reference. このディレクティブを使用すると、型を名前空間で完全修飾する必要がありません。If you use this directive, you do not need to fully qualify the types in the namespace. このためには、次のコードをファイルに追加します。To do this, add the following code to your file:

Import myNamespace.myReferenceName  
using myNamespace.myReferenceName;  

参照See Also

レポート サーバー Web サービス Report Server Web Service
Web サービスと .NET Framework を使用してのアプリケーションの構築 Building Applications Using the Web Service and the .NET Framework
テクニカル リファレンス (SSRS)Technical Reference (SSRS)