Soapsuds ツール (Soapsuds.exe)

このトピックの対象は、レガシ テクノロジに特定されています。XML Web サービスと XML Web サービス クライアントは以下を使用して作成してください。 Windows Communication Foundation.

Soapsuds ツールは、リモート処理と呼ばれる手法を使用して XML Web サービスと通信するクライアント アプリケーションをコンパイルする場合に役立ちます。Soapsuds.exe は、次の機能を実行します。

  • 共通言語ランタイム アセンブリで公開されるサービスを記述する XML スキーマを作成します。

  • XML スキーマで記述されるサービスにアクセスするランタイム アセンブリを作成します。スキーマ定義はローカル ファイルとして保存するか、またはインターネットから動的にダウンロードできます。

xd176a6c.note(ja-jp,VS.100).gif注 :
.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 サービスにアクセスするには、次の手順を実行します。

  1. XML Web サービスの XML スキーマをダウンロードします。このツールの -urltoschema オプションを使用すると、URL を指定してスキーマを直接参照できます。XML Web サービスが Web サービスを発行するときに、これらのスキーマ ファイルを自動的に生成します。

  2. Soapsuds.exe を使用して、XML スキーマをランタイム アセンブリに変換します。このツールは、アセンブリを生成するときに常にソース コードを生成します。

  3. クライアント アプリケーションをコンパイルするときに、アプリケーションでこのアセンブリを参照します。また、アプリケーションがこれらのアセンブリ内の型を 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)

概念

XML Web サービスの概要

その他のリソース

.NET Framework Tools
.NET Remoting Overview
Strong Name Tool (Sn.exe)
SDK Command Prompt