次の方法で共有


WsUtil コンパイラ ツール

Windows Web Services コンパイラ ツール WsUtil.exeでは、データ型の サービス モデルのシリアル化 がサポートされています。 WSDL、XML スキーマ、およびポリシー ドキュメントを処理し、C ヘッダーとソース ファイルを生成します。 このツールはマネージド コード用の WSDL コンパイラ ツールに似ていますが、代わりにネイティブ コードを対象としています。

サービス モデルのをサポートするために、WsUtil.exe はクライアントとサービスの両方に使用するヘッダーを生成します。 必要に応じて、クライアント側の C プロキシ ファイルとサービス側の C スタブ ファイルが生成されます。

シリアル化をサポートするために、コンパイラはグローバル要素定義の要素記述用のヘッダーと、シリアル化エンジンによって使用されるプロキシ ファイル内のすべての型定義情報を生成します。

WSDL ファイル、XML スキーマ ファイル、および Web サービス ポリシー ファイルを処理するためのコマンド ライン オプションについては、次のトピックを参照してください。

安全

WsUtil を使用する場合は、次の問題に注意し、適切な予防措置を確認してください。

  • Wsutil はネットワーク経由で XML メタデータを取得せず、wsutil は入力メタデータ ファイル内のインポートステートメントやインクルード ステートメントを解決しません。 Wsutil は wsdl、xsd、およびポリシー ファイルを開いて読み取ります。 XML メタデータは改ざんに対する耐性がありません。 wsdl ファイル、xsd ファイル、ポリシー ファイルのみを信頼されたソースから取得し、使用前と使用後にファイルが改ざんされないように保護してください。 入力ファイルの内容を慎重に確認し、ファイルの内容がアプリケーションで安全に使用されることを検証します。 Wsutil.exe では、メタデータ ファイルの信頼性の検証は行われません。
  • Wsutil はヘッダー ファイルとスタブ ファイルを生成しますが、改ざんに対する耐性はありません。 wsutil.exe によって生成されたソース ファイルに対して適切なレベルのアクセス権を設定して、それらのファイルへの不正アクセスを防ぐ必要があります。 Wsutil は System.IO.StreamWriter を使用して出力ファイルを作成します。
  • ユーザーは、Wsutil がローカル ファイルを上書きできることに注意する必要があります。また、/out スイッチを使用して出力ファイルの安全なファイル名とディレクトリを指定するように注意する必要があります。
  • Wsutil または wsutilhelper.dll wsutil.exeに読み込まれると、攻撃を受けたり、大量の入力メタデータを処理したりする際に、予期せず終了したり、大量のシステム リソースを消費したりする可能性があります。 このツールは、開発時にのみ使用するように設計されています。このツールは、開発時ツールとしてのみ使用する必要があります。 中間層でポリシー情報を処理しても安全でない場合があります。
  • Wsutilhelper.dll ヘルパー DLL は、ポリシー情報を処理するためにマネージド wsutil.exe に読み込まれます。 ユーザーは、バイナリ パスに同じファイル名を持つ悪意のあるバイナリが存在しないことを確認する必要があります。 同様に、ユーザーはビルド環境で、同じ "wsutil.exe" 名を持つ悪意のあるバイナリが存在しないことをバイナリ パスが正しく設定されていることを確認する必要があります。
  • Wsutil は、可能な場合は操作フィールドと構造体フィールドに対して SAL 注釈を生成します。 wsutil で生成されたファイルのユーザーは、SAL 注釈で指定された要件に従う必要があります。

サービス モデル レイヤーの概要

シリアル化

Web サービス コンパイラ ツールの

WSDL サポート

スキーマのサポート

ポリシー サポート