Web サービス記述言語ツール (Wsdl.exe)
Web サービス記述言語ツールは、WSDL コントラクト ファイル、XSD スキーマ、および .discomap 検出ドキュメントから、XML Web サービスおよび XML Web サービス クライアントのコードを生成します。
wsdl [options] {URL | path}
引数 | 説明 |
---|---|
URL | WSDL コントラクト ファイル (.wsdl)、XSD スキーマ ファイル (.xsd)、または検出ドキュメント (.disco) への URL。.discomap 検出ドキュメントへの URL は指定できません。 |
path | ローカル WSDL コントラクト ファイル (.wsdl)、XSD スキーマ ファイル (.xsd)、または検出ドキュメント (.disco または .discomap) へのパス。 |
オプション | 説明 |
---|---|
/appsettingurlkey:key
または /urlkey:key |
コードを生成するときに URL プロパティの既定値を読み込むために使用する構成キーを指定します。 |
/appsettingbaseurl:baseurl
または /baseurl:baseurl |
URL フラグメントを計算するときに使用するベース URL を指定します。このツールは、相対 URL を baseurl 引数から WSDL ドキュメント内の URL へ変換することにより、URL フラグメントを計算します。このオプションと共に /appsettingurlkey オプションを指定する必要があります。 |
/d[omain]:domain | 認証情報を要求するサーバーに接続するときに使用するドメイン名を指定します。 |
/l[anguage]:language | 生成されたプロキシ クラスのために使用する言語を指定します。引数 language として CS (C#、既定値)、VB (Visual Basic)、JS (JScript)、または VJS (Visual J#) を指定できます。System.CodeDom.Compiler.CodeDomProvider クラスを実装するクラスの完全限定名も指定できます。 |
/n[amespace]:namespace | 生成されたプロキシまたはテンプレートの名前空間を指定します。既定の名前空間はグローバル名前空間です。 |
/nologo | Microsoft 著作権情報を表示しません。 |
/o[ut]:filename | 生成されたプロキシ コードを保存するファイルを指定します。このツールは、XML Web サービス名から既定のファイル名を派生します。このツールは、生成されたデータ セットを複数のファイルに保存します。 |
/parsableerrors | 言語コンパイラで使用されているエラー レポート形式に似た形式でエラーを表示します。 |
/p[assword]:password | 認証情報を要求するサーバーに接続するときに使用するパスワードを指定します。 |
/protocol:protocol | 実装するプロトコルを指定します。SOAP (既定値)、HttpGet、HttpPost、または構成ファイルで指定されたカスタム プロトコルを指定できます。 |
/proxy:URL | HTTP 要求のために使用するプロキシ サーバーの URL を指定します。既定では、システム プロキシ設定を使用します。 |
/proxydomain:domain
または /pd:domain |
認証を必要とするプロキシ サーバーに接続するときに使用するドメインを指定します。 |
/proxypassword:password
または /pp:password |
認証情報を要求するプロキシ サーバーに接続するときに使用するパスワードを指定します。 |
/proxyusername:username
または /pu:username |
認証情報を要求するプロキシ サーバーに接続するときに使用するユーザー名を指定します。 |
/server | コントラクトに基づく XML Web サービスのための抽象クラスを生成します。既定では、クライアント プロキシ クラスを生成します。 |
/u[sername]:username | 認証情報を要求するサーバーに接続するときに使用するユーザー名を指定します。 |
/? | このツールのコマンド構文とオプションを表示します。 |
解説
.wsdl ファイルは、Web サービス記述言語 (WSDL: Web Service Description Language) という XML 文法で記述された XML ドキュメントです。このファイルは、XML Web サービスの動作を定義し、サービスとの対話方法をクライアントに命令します。
Web サービス検出ツール (Disco.exe) を使用して、XML Web サービスの検出ドキュメントを取得できます。このツールで生成された .discomap、.disco、.wsdl、.xsd の各ファイルは、Wsdl.exe への入力として使用できます。
Wsdl.exe を使用してプロキシ クラスを作成すると、指定したプログラミング言語で 1 つのソース ファイルが作成されます。プロキシ クラスのソース コードを生成するプロセスでは、このツールは、サービス記述で指定されたオブジェクトに使用する最適な型を決定します。場合によっては、共通する必要最低限の機能を提供するアプローチを使用して、オブジェクトを型にキャストします。結果として、そのプロキシ クラスの生成された型が開発者の意図するものと異なることがあります。たとえば、Wsdl.exe がサービスの説明で ArrayList 型を検出した場合は、生成するプロキシ クラス内に Object Array を作成します。オブジェクト型が正しくキャストされるようにするには、生成されたプロキシ クラスが含まれているファイルを開き、不正なオブジェクト型を正しいオブジェクト型に変更します。
例
指定した URL にある XML Web サービスの .wsdl ファイルを作成し、その XML Web サービスの C# 言語におけるクライアント プロキシ クラスを作成するコマンドを次に示します。
wsdl http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
指定した URL にある XML Web サービスの C# 言語におけるクライアント プロキシ クラスを作成するコマンドを次に示します。このツールは、クライアント プロキシ クラスを myProxyClass.cs ファイルに保存します。
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
指定した URL にある XML Web サービスの Microsoft Visual Basic 言語におけるクライアント プロキシ クラスを作成するコマンドを次に示します。このツールは、クライアント プロキシ クラスを myProxyClass.vb ファイルに保存します。
wsdl /language:VB /out:myProxyClass.vb http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
参照
.NET Framework ツール | Web サービス検出ツール (Disco.exe) | XML Web サービス プロキシの作成 | XML Web サービスの説明 | XML Web サービスの概要