Visual Studio の Web 参照
更新 : 2007 年 11 月
XML Web サービスのクライアント アプリケーションの開発を単純化するために、Visual Studio には Web 参照が導入されています。Web 参照は、従来の参照やコンポーネントとは違います。ローカル コンピュータ上にインストールされているコンポーネントやクラス ライブラリを参照するのではなく、Web 参照は、SOAP や HTTP などのインターネット プロトコルを使用して利用できるリソースへのアクセスを提供します。
実際には、Web 参照は、生成されたプロキシ クラスであり、公開されている XML Web サービスの機能をローカルで表します。プロキシ クラスは、XML Web サービスによって公開された実際のメソッドを表すメソッドを定義します。アプリケーションでは、プロキシ クラスのインスタンスを作成すると、XML Web サービスがローカルで使用できるコンポーネントであるかのように、その XML Web サービスのメソッドを呼び出すことができます。Web 参照を作成する方法については、「方法 : リモート Web 参照を追加および削除する」を参照してください。
メモ : |
---|
ファイアウォールの外側にある XML Web サービスを Web ブラウザで使用できるようにするには、Visual Studio で Web 参照を作成する際、ネットワークのプロキシ サーバーのアドレスとポートを明示的に指定する必要があります。 |
生成されるプロキシ クラスのプログラミング言語は、プロキシ クラスが表す Web サービスのプログラミング言語と同じになります。Visual Studio 以外で (たとえば .NET Framework ツールを使用して) プロキシ クラスを作成する場合、プログラミング言語は、使用するツールに依存します。たとえば、WSDL.exe を使用する場合、C# または Visual Basic のいずれかのプログラミング言語をコマンド ラインで指定します。SProxy.exe を使用する場合には、プログラミング言語は Visual C++ です。詳細については、「Web サービス記述言語ツール (Wsdl.exe)」を参照してください。
デザイン時には、プロキシ クラスによって、XML Web サービスのメソッドについてステートメント入力候補を使用できます。実行時には、プロキシ オブジェクトのメソッドへの呼び出しが処理され、SOAP 要求メッセージとしてエンコードされます。XML Web サービスが SOAP をサポートしない場合は、プロキシ クラスでは HTTP GET または HTTP POST が使用されます。その後、このメッセージはターゲットの Web サービスに送信され、処理されます。サービスの記述で応答メッセージが定義されている場合は、プロキシ オブジェクトがメッセージを処理し、アプリケーションに応答を返します。
Web 参照の管理
Web 参照の名前を変更したり、編集したり、または、参照されている Web サービスが変更された場合には Web 参照を更新したりできます。詳細については、「方法 : プロジェクトの Web 参照の名前を変更する」および「方法 : プロジェクトの Web 参照を更新する」を参照してください。
URL Behavior プロパティ
プロジェクトの各 Web 参照は、Web サービスへのアクセスに使用されるプロキシ クラスとやり取りします。Web 参照 URL プロパティを使用して、XML Web サービスの URL を指定できます。ASP.NET 1.1 では、Web 参照は静的な URL または動的な URL を使用できます。ASP.NET 2.0 以降では、Web 参照は URL を動的に取得します。詳細については、「Web サービスの検索」を参照してください。
Visual Studio の [Web 参照の追加] ダイアログ ボックスを使用して Web 参照を作成すると、このプロパティは、既定で、選択する XML Web サービスの URL に設定されます。これは静的な URL です。[URL の動作] を既定の値である [スタティック] のままにしておくと、プロキシ クラスのインスタンスを作成するときに、ハード コーディングされた URL を使用してインスタンスの URL プロパティが設定されます。
Web 参照の URL の動作プロパティを [ダイナミック] に設定すると、アプリケーションは、アプリケーションの構成ファイルの appSettings 要素から実行時に URL を取得します。
参照
処理手順
チュートリアル : Visual Web Developer での ASP.NET Web サービスの作成と使用