Soapsuds ツール (Soapsuds.exe)
このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.
Soapsuds ツールは、リモート処理と呼ばれる手法を使用して XML Web サービスと通信するクライアント アプリケーションをコンパイルする場合に役立ちます。Soapsuds.exe は、次の機能を実行します。
共通言語ランタイム アセンブリで公開されるサービスを記述する XML スキーマを作成します。
XML スキーマで記述されるサービスにアクセスするランタイム アセンブリを作成します。スキーマ定義はローカル ファイルとして保存するか、またはインターネットから動的にダウンロードできます。
注 : |
---|
.NET Framework Version 3.5 以降、このツールは互換性のために残されています。代わりに、クライアント プロジェクトでリモート オブジェクトの DLL への参照を指定してください。これにより、コンパイラはメタデータを抽出できます。 |
soapsuds {-url:schemaUrl | -types:type1,assemblyname[,serviceEndpoint]
[;type2,assemblyname][...]] | -is:schemafile | -ia:assemblyfile} [options]
オプション
オプション | 説明 |
---|---|
-domain:domain または -d:domain |
認証のためにドメイン名を要求するサーバーに接続するときに使用するドメイン名を指定します。 |
-generatecode または -gc |
コードを生成します。このオプションの指定は、-od:. (末尾のピリオドは、コードが現在のディレクトリに格納されることを示します) を使用することと同じです。 |
-httpproxyname:name または -hpn:name |
HTTP プロキシ サーバーを経由してサーバーに接続するときに使用する HTTP プロキシ名を指定します。 |
-httpproxyport:number または -hpp:number |
HTTP プロキシ サーバーを経由してサーバーに接続するときに使用する HTTP プロキシ ポート番号を指定します。 |
-inputassemblyfile:assemblyfile または -ia:assemblyfile |
入力アセンブリ ファイルを指定します。このツールは、アセンブリからすべての型をインポートします。入力アセンブリを指定する場合は、.exe 拡張子または .dll 拡張子を含めないでください。 |
-inputdirectory:directory または -id:directory |
入力ダイナミック リンク ライブラリ (DLL) ファイルのディレクトリ位置を指定します。 |
-inputschemafile:schemafile または -is:schemafile |
入力 XML スキーマ ファイルを指定します。 |
-nowrappedproxy または -nowp |
ラップされたプロキシを作成しません。このオプションを指定しない場合、ラップされたプロキシが既定で作成されます。 |
-outputassemblyfile:assemblyfile または -oa:assemblyfile |
指定したアセンブリ ファイルに出力を保存します。Soapsuds.exe は、アセンブリを生成するときに常にソース コードを生成します。 |
-outputdirectory:outputdirectory または -od:outputdirectory |
指定した出力ディレクトリに出力を保存します。 |
-outputschemafile:schemafile または -os:schemafile |
指定した XML スキーマ ファイルに出力を保存します。 |
-password:password または -p:password |
認証情報を要求するサーバーに接続するときに使用するパスワードを指定します。 |
-proxynamespace:namespace または -pn:namespace |
生成されたプロキシ内のコードの名前空間を指定します。このオプションは、相互運用名前空間以外には使用しないでください。 |
-sdl |
サービス記述言語 (SDL) スキーマを生成します。このオプションを指定しない場合は、Web サービス記述言語 (WSDL) スキーマが生成されます。SDL の詳細については、「XML Web サービスの説明」を参照してください。 |
-serviceendpoint:URL または -se:URL |
WSDL ファイルに配置するサービスのエンド ポイントの URL または URL へのパスを指定します。 |
-strongnamefile:filename または -sn:filename |
生成されたアセンブリに、filename で指定されたキー ペアを割り当てます。このファイルは、厳密名ツール (Sn.exe) を使用して生成できます。 |
-types: type1,assemblyname[,serviceEndpoint] [;type2,assemblyname[,serviceEndpoint]] [...] |
入力型リストを指定します。 |
-urltoschema:schemaURL または -url:schemaURL |
XML スキーマの取得元の URL を指定します。 |
-username:username または -u:username |
認証情報を要求するサーバーに接続するときに使用するユーザー名を指定します。 |
-wrappedproxy または -wp |
ラップされたプロキシを作成します。これが既定値です。 |
-wsdl |
WSDL スキーマを生成します。これが既定値です。詳細については、次のトピックを参照してください。「Web サービスの説明」を参照してください |
解説
クライアント アプリケーションから XML Web サービスにアクセスするには、次の手順を実行します。
XML Web サービスの XML スキーマをダウンロードします。このツールの -urltoschema オプションを使用すると、URL を指定してスキーマを直接参照できます。XML Web サービスが Web サービスを発行するときに、これらのスキーマ ファイルを自動的に生成します。
Soapsuds.exe を使用して、XML スキーマをランタイム アセンブリに変換します。このツールは、アセンブリを生成するときに常にソース コードを生成します。
クライアント アプリケーションをコンパイルするときに、アプリケーションでこのアセンブリを参照します。また、アプリケーションがこれらのアセンブリ内の型を XML Web サービスに対するプロキシとして認識するように、リモート処理をセットアップする必要もあります。詳細については、次のトピックを参照してください。「.NET リモート処理の概要」を参照してください。
例
URL からスキーマをダウンロードして、XML ファイルに保存するコマンドを次に示します。
soapsuds -url:https://localhost/Service/MyService.soap?wsdl
-os:MyService.xml
URL からスキーマをダウンロードして、コードを生成するコマンドを次に示します。
soapsuds -url:https://localhost/Service/MyService.soap?wsdl -gc
URL からスキーマをダウンロードしてファイルに保存し、コードを生成するコマンドを次に示します。
soapsuds -url:https://localhost/Service/MyService.soap?wsdl
-os:StockQuote.xml -gc
URL からスキーマをダウンロードし、コードを生成およびコンパイルしてからアセンブリを生成するコマンドを次に示します。
soapsuds -url:https://localhost/Service/MyService.soap?wsdl
-oa:StockQuote.dll
型をスキーマに変換して、ファイルに保存するコマンドを次に示します。
soapsuds -types:MyClass.MyMethod,Service -os:StockQuote.xml
型をスキーマに変換して、コードを生成するコマンドを次に示します。
soapsuds -types:MyClass.MyMethod,Service -gc
型をスキーマに変換してファイルに保存してから、コードを生成するコマンドを次に示します。
soapsuds -types:MyClass.MyMethod,Service -os:MyService.xml -gc
参照
リファレンス
Web サービス記述言語ツール (Wsdl.exe)
Web サービス検出ツール (Disco.exe)
概念
その他のリソース
.NET Framework Tools
.NET Remoting Overview
Strong Name Tool (Sn.exe)
SDK Command Prompt