Web サービスの検索

更新 : 2007 年 11 月

Web サービスのプロバイダが、同時にコンシューマでもある場合があります。このような場合は、一般に、Web サービスの場所と機能がわかっています。それ以外の場合は、他者によって提供される Web サービスにアクセスします。その場合は、目的に適した Web サービスが実際に存在するかどうかさえわからないことがあります。

Web 参照

コーディング モデルを単純化するために、マネージ コードで記述されたアプリケーションは、Web 参照を使用して各 Web サービスをローカルに表現します。Web 参照は、[Web 参照の追加] ダイアログ ボックスを使用してプロジェクトに追加します。このダイアログ ボックスでは、ローカル サーバー、Microsoft UDDI ディレクトリ、およびインターネットの大部分を参照できます。Web サービス プロバイダは、Web サービスを Web サービス ディレクトリ内で公開します。Web サービス コンシューマは、利用する Web サービスをこのディレクトリ内で検索します。詳細については、「XML Web サービス ディレクトリ」を参照してください。

[Web 参照の追加] ダイアログ ボックスは、Web サービス探索のプロセスを使用して、Web サイト上の適切な Web サービスを探します。ダイアログ ボックス内で、その Web サービスに移動できます。指定されたアドレスに対して、ダイアログ ボックスは、特別にデザインされたアルゴリズムを使用して Web サイトに問い合わせます。このアルゴリズムは、Web サービス記述言語 (WSDL: Web Service Description Language) の文法に従った Web サービス記述ドキュメントを探します。詳細については、「XML Web サービス探索」および「XML Web サービスの説明」を参照してください。

[Web 参照の追加] ダイアログ ボックスを使用して、アプリケーションでアクセスする Web サービスを見つけた後は、[参照の追加] ボタンをクリックして、Visual Studio に対して、サービス記述をローカル コンピュータにダウンロードし、選択された Web サービスのプロキシ クラスを生成するように指示します。プロキシ クラスには、公開されている各 Web サービス メソッドを同期および非同期で呼び出すためのメソッドが含まれています。このクラスは、ローカル .wsdl ファイルの分離コード ファイルに含まれています。詳細については、「Visual Studio の Web 参照」および「[Web 参照の追加] ダイアログ ボックス」を参照してください。

Web 参照 URL プロパティを使用して、Web サービスの URL を指定できます。[Web 参照の追加] では、このプロパティを既定により、指定した Web サービスの URL (静的 URL) に設定します。Web 参照では、静的な URL または動的な URL を使用できます。

[URL の動作] を既定の値である [スタティック] のままにしておくと、プロキシ クラスのインスタンスを作成するときに、ハード コーディングされた URL を使用してインスタンスの URL プロパティが設定されます。

Web 参照の [URL の動作] プロパティを [ダイナミック] に設定すると、アプリケーションは、アプリケーションの構成ファイルの appSettings 要素 (全般設定スキーマ) から実行時に URL を取得します。Web 参照を追加した後で動的な URL を指定すると、Visual Studio は、構成ファイルから URL を取得するようにプロキシ クラスを更新します。

<appSettings>
   <add key="myApplication.myServer.Service1"
        value="http://myServer/myWebService/Service1.asmx"/>
</appSettings>

プロキシ オブジェクトのインスタンスを作成するときに、アプリケーションでオブジェクトの URL プロパティを設定することもできます。

プロキシがどちらの種類の URL を使用するかに関係なく、その URL は、Web 参照の追加時に使用されたものと同じ WSDL に準拠した Web サービスの URL であることが必要です。

または、Visual Studio が Web 参照の追加時にプロキシ クラスの作成に使用するツールと同じ Web サービス記述言語ツールを使用して、プロキシ クラスを生成できます。これは、Visual Studio がインストールされているコンピュータから Web サービスにアクセスできない場合に必要です。たとえば、Web サービスが存在するネットワークが、実行時になるまでクライアントからはアクセスできない場合などです。その場合は、ツールによってアプリケーション プロジェクトに対して生成されたファイルを手動で追加します。詳細については、「方法 : Web サービス プロキシを生成する」を参照してください。

参照

概念

XML Web サービス クライアントの作成

XML Web サービスの説明

その他の技術情報

マネージ コードを使用した Web サービスへのアクセス