Soapsuds ツール (Soapsuds.exe)

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

  • 共通言語ランタイムアセンブリで公開されるサービスを記述する XML スキーマを作成します。
  • XML スキーマで記述されるサービスにアクセスするランタイム アセンブリを作成します。スキーマ定義はローカル ファイルとして保存するか、またはインターネットから動的にダウンロードできます。
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: Dynamic Link Library) ファイルのディレクトリ位置を指定します。
-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

生成されたプロキシ内のコードの名前空間を指定します。このオプションは、相互運用名前空間以外には使用しないでください。
-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 スキーマを生成します。これは、既定の設定です。詳細については、「XML 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 

参照

.NET Framework ツール | .NET リモート処理の概要 | 厳密名ツール (Sn.exe) | XML Web サービスの概要 | Web サービス記述言語ツール (Wsdl.exe) | Web サービス検出ツール (Disco.exe)