WSDLIMP.EXE - コマンドライン WSDL インポート ツール

提供: RAD Studio
移動先: 案内検索

コマンドライン ユーティリティ:インデックス への移動

WSDLIMP は、WSDL ドキュメントで定義されている型と API を表すコードを生成します。 このコードは、WSDL(Web Services Description Language:Web サービス記述言語)ドキュメントで記述されている Web サービスを呼び出すクライアント アプリケーションを作成するのに使用することができます。 Web サービスを実装するサーバーを作成する場合は、実装クラスを生成するようにコマンドライン オプションの 1 つでインポート ツールに指示し、その後で、生成されたメソッドの本体にコードを書くことでそれらを完成させることができます。 詳細は、「WSDL インポート ウィザード」を参照してください。

メモ: WSDLIMP では、WSDL ドキュメントに記述されている定義のうち、コードを生成できないものは無視します。 つまり、SOAP エンコーディングまたはドキュメント/リテラル エンコーディングを用いる Web サービスのみインポートできるのです。

WSDLIMP.EXE は WSDL ドキュメントをインポートし、その WSDL ドキュメントで記述されている Web サービスをアプリケーションから呼び出せるコードを生成します。 これは WSDL インポータ([新規作成]ダイアログの[WebServices]ページで利用可能)のコマンドライン版です。

WSDLIMP プログラムの起動時に、コマンドライン オプションを使って出力を構成することができます。 これらのオプションを使用すると、Object Pascal と C++ のどちらのコードを生成するか、サーバーを作成するため実装クラスを生成するかどうか、WSDL ドキュメントに記述されているさまざまな種類の定義をどう処理するかを指定することができます。

コマンドライン構文

WSDLIMP のコマンドライン構文は以下のとおりです。

WSDLIMP [<options>] <InputWSDLfile|URL>

コマンドラインのヘルプを表示するには、次のように入力します:

WSDLIMP

または

WSDLIMP -?


コマンドライン要素

WSDLIMP コマンドラインで使用できる要素は次のとおりです。

要素 説明
<InputWSDLfile>

インポートする WSDL 物理ファイル名を指定します。
<InputWSDLfile> または <URL> が必要です。

<URL>

Web で公開されている WSDL ドキュメントにアクセスする URL を指定します。

<options>

WSDLIMP コマンドライン オプション。
各オプションの前には、ハイフン(-)文字を付ける必要があります。 オプションの後にプラス(+)記号を付けるとオプションがオンになり、ハイフン(-)記号を付けるとオプションがオフになります。 + 記号は省略可能です。

コマンドライン オプション

WSDLIMP のコマンドライン オプションの一覧を以下の表に示します。 WSDLIMP コマンドライン オプションのほとんどは、統合されたWSDL インポート ウィザード内に対応するオプションがあります。 表のウィザードでのオプション名の列には、そのオプションの名前を示しています。

表では以下の記号を使用しています。

  • オプションの後のプラス(+)記号:そのオプションがデフォルトでオンであることを示します。
  • オプションの後のハイフン(-)記号:そのオプションがデフォルトでオフであることを示します。

WSDLIMP のオプション

オプション ウィザードでのオプション名 説明
言語生成オプション:
-c

WSDL ファイルに記述されている定義を表す C++ コードを生成します。
このオプションか -P オプションのどちらか一方のみ使用する必要があります。

-P

WSDL ファイルに記述されている定義を表す Delphi コードを生成します。
このオプションか -C オプションのどちらか一方のみ使用する必要があります。

コード生成オプション:
-Oa+

オプションの nillable 要素を処理する

このオプションをオンにすると、nil 値になり得る省略可能なプロパティに関する情報が生成されます。 この情報を基に、SOAP ランタイムは特定のプロパティを nil 値にできるようにします。
デフォルトはオンです。

-Ob-

プロパティの設定アクセサ メソッドと取得アクセサ メソッドを使用する

デフォルトでは、生成されたクラスのフィールドに直接対応するプロパティが生成されます。 このオプションをオンにすると、プロパティではなく設定アクセサ メソッドと取得アクセサ メソッドを強制的に生成させることができます。
デフォルトはオフです。

-Od+

リモート可能型のデストラクタを生成する

オンにすると、型を表すクラスにデストラクタが生成されます。 このデストラクタは、型がクラスまたはクラスの配列である、すべてのネストしたメンバを解放します。 この生成されたデストラクタにより、型を表すクラスのインスタンスを解放するために必要な作業が単純化されます。これは、クラスを使用してリモート可能型を表しているクラス メンバを明示的に解放する必要がなくなるためです。
デフォルトはオンです。

-Oe+

スコープの設定された列挙型を生成する

スコープの設定された列挙型を生成します。
オンにすると、スコープの設定された列挙型が生成されます。 同じ名前で異なる値を定義している複数の列挙型が WSDL ドキュメントに含まれる場合に、このオプションをオンにします。
デフォルトはオンです。

-Of+

[Fault タイプをインポートする]

このオプションをオンにすると、問題があると判定されたタイプも処理されます。
デフォルトはオンです。

-Og-

[COM API を使ってインターフェイス GUID を生成する]

オンにすると、サービスをインポートするたびに、一意の GUID が割り当てられます。 このオプションをオフにすると、サービスのコードを何度生成しても、そのサービスに対して生成された GUID は変わらずに保持されます。 ほとんどの場合では、このオプションをオフにすることを推奨します。
デフォルトはオフです。

-Oh+

[ヘッダー タイプをインポートする]

オンにすると、ヘッダーと判定されたタイプを処理できます。
デフォルトはオンです。

-Oi+

[警告をコメントとして挿入する]

オンにすると、生成されるファイルの先頭に挿入されるコメントに、警告メッセージが追加されます。 これらの警告には、WSDL ドキュメントに無効な型定義があるなどの問題や、[リテラル パラメータをアンラップする]をオンにしているときにリテラル パラメータをアンラップしようとして発生する問題などが記述されます。
デフォルトはオンです。

-Oj+

列挙型メンバを検証する

このオプションをオンにすると、列挙メンバを生成するときに、必ずグローバル シンボルのリストが使用されます。 これにより、WSDL ドキュメントに宣言されている列挙型の列挙メンバ間の名前の衝突を回避できます。 Delphi 2009 以降では、このオプションではなく、[スコープの設定された列挙型を生成]/-Oe オプションをオンにすることを推奨しています。
デフォルトはオンです。

-Ok-

純粋なコレクションをラッパー クラス型にマップする

このオプションをオンにすると、インポートした配列型をラッパー クラスにマップできるようになります。 このオプションは主に C++Builder のために用意されています。C++Builder では、配列型を直接 WSDL の配列型にマップできないので、ラッパー コレクション クラスが必要だからです。
デフォルトはオフです。

-Ol-

リテラルの型を生成する

ドキュメント/リテラル エンコーディングでは、Web サービスで操作を記述しません。 その代わりに、期待される入力を表すレコードと、出力を表すレコードを記述します。 [リテラルの型を生成する]をオンにすると、レコードをメソッド呼び出しに変換する場合([リテラル パラメータをアンラップする]がオンの場合)にも、これら 2 つのレコードの型定義が生成されます。
デフォルトはオフです。

-Om-

out パラメータを許可する

このオプションでは、SOAP メッセージのマルチパート部を返すときに、out パラメータを使用するメソッドを生成するかどうかを制御します。 このオプションをオフにすると、out パラメータは生成されず、マルチパートの SOAP メッセージのためのラッパー クラスが生成されます。
デフォルトはオフです。

-Oo+

単独の out パラメータを戻り値と見なす

オンにすると、出力メッセージを 1 つだけ持つ操作が関数にマップされ、出力メッセージが戻り値になります。 オフにすると、出力メッセージは出力パラメータにマップされます。
デフォルトはオンです。

-Op+

インクルードおよびインポートされたスキーマを処理する

このオプションをオンにすると、インクルードおよびインポートされたスキーマが処理されます。
デフォルトはオンです。

-または-

純粋なコレクションの要素のエイリアスを生成する

これは下位互換のためのスイッチで、旧バージョンの製品と同様にコードを生成するためのものです。 これまでどおりにエイリアス型を生成できるようにするには、このオプションをオンにします。 デフォルトはオフです。 詳細については、「WSDL -Or- オプション」を参照してください。

-Os-

クライアント実装ではなくサーバー実装を生成する

オンにすると、インポートしたインターフェイスの実装クラスが生成されます。 WSDL ドキュメントに既に定義されている Web サービスを実装するサーバーを記述する場合に、このオプションを使用します。
デフォルトはオフです。

-Ot+

[使用されていない型を出さない]

このオプションをオンにすると、WSDL ドキュメントに宣言されていても、どの公開サービスでも使用されない型のコードは生成されません。 クラスにはこのルールが適用されないことに注意してください。基底クラスを必要とする派生クラスのインスタンスを、サービスが返す可能性があるからです。 この場合、基底クラスのコードと派生クラスのコードの両方が生成されます。
デフォルトはオンです。

-Ou+

リテラル パラメータをアンラップする

ドキュメント/リテラル エンコーディングでは、Web サービスで操作を記述しません。 その代わりに、期待される入力を表すレコードと、出力を表すレコードを記述します。 [リテラル パラメータをアンラップする]をオンにすると、これら 2 つのレコードそれぞれがメソッド呼び出しに変換されます。
デフォルトはオンです。

-Ov+

[型とインターフェイスの詳細情報を生成する]

このオプションをオンにすると、型の名前空間、サービスの形式、バインディング名など、WSDL のその他の公開データに関する情報が生成されます。
デフォルトはオンです。

-Ow-

文字列を WideString 型にマップする

オンにすると、すべての文字列型が WideString 値にマップされます。 オフにすると、代わりに string 型が使用されます。 WideString 値は、拡張文字を使用する値を扱うときに、必要になる可能性があります。 文字列値で拡張文字を使用しない場合は、string 型を使用する方が効率的です。
デフォルトはオフです。

-Ox+

クラス エイリアスをクラス型として生成する

このオプションをオンにすると、弱いエイリアスの代わりにクラス型が生成されます。 このオプションによって、生成されるエイリアス クラスは、基底型とは異なる RTTI(Run Time Type Information:実行時型情報)を持ちます。
デフォルトはオンです。

-Oz-

nil 値を取り得る単純型には TXSString を使用する

nil 値を取れる単純な型には TXSString を使用します。
WSDL 標準では、単純な型を nil 値(Delphi では nil、C++ では NULL)にすることを許可していますが、Delphi や C++ ではこれが許可されていません。 このオプションをオンにすると、ラッパー クラスのインスタンスを使用することで、この制約を回避できます。
デフォルトはオフです。

SOAP バージョン オプション:
-SOAP11

SOAP 1.1 プロトコルの WSDL バインディング拡張機能のみが処理されます。
このオプションは、-SOAP12 と同時に使用することはできません。

-SOAP12

SOAP 1.2 プロトコルの WSDL バインディング拡張機能のみが処理されます。
このオプションは、-SOAP11 と同時に使用することはできません。

ファイル オプション:
-D<path>

WSDLIMP で生成されたファイルの出力先ディレクトリ(<path>)を指定します。

@<respfile>

<RespFile> は、インポートする URL または WSDL ファイルが 1 行ごとに記載されたテキスト ファイルを指定します。 また、オプションで、URL または WSDL ファイル名の後に =OutputFileName を追加して、インポートされる WSDL ドキュメントごとに、生成されるコードの出力先を指定することもできます。

-=<OutputFileName>+

等号(=)を OutputFileName 出力ファイル名の始まりとして解釈します。 また、オプションで、URL または WSDL ファイル名の後に =OutputFileName を追加して、インポートされる WSDL ドキュメントごとに、生成されるコードの出力先を指定することもできます。 (@<RespFile&gt オプションも参照)。
指定しないと、等号は URL の一部として認識されます。 デフォルトはオンです。

プロキシ/サーバー認証:
-user:UserName

ユーザー名

このオプションを使用すると、ユーザー名を指定して、WSDL ドキュメントが認証を必要とするセキュア サーバー上にある場合に使用できます。
このオプションと共に -pass:Password オプションを指定する必要があります。

-pass:Password

Password

このオプションを使用すると、パスワードを指定して、WSDL ドキュメントが認証を必要とするセキュア サーバー上にある場合に、ユーザー名と共に使用できます。
このオプションと共に -user:UserName オプションを指定する必要があります。

-proxy:Proxy

プロキシ

指定された WSDL ドキュメントの URL に要求を転送しなければならない、すべてのプロキシ サーバーのホスト名を指定します。
このオプションと共に -pass:Password オプションと -user:UserName オプションを指定する必要があります。

WSDLIMP のコマンドライン サンプル

WSDLIMP のコマンドライン サンプルは、「WSDL インポータの使用」を参照してください。

関連項目