Java2WSDL ツールの解説

Java2WSDL ツールは、Java™ クラスを WSDL 文書にマップします。

Java2WSDL ツールは、Java クラスを入力として受け入れ、 このクラスを出力として表す WSDL ファイルを作成します。出力場所にファイルが存在する場合、 そのファイルは上書きされます。

Java2WSDL が生成する WSDL 文書には、WSDL と、入力クラスから自動的に派生される XML スキーマ構成体が含まれます。コマンド行引数は、これらデフォルト値の多くをオーバーライドすることができます。

構文

Java2WSDL ツールは、<WS-install-dir>¥appserver¥bin ディレクトリーに あります。

Java2WSDL [<arguments>] <class>

引数

必須引数:

<class> - 次の Java クラスのいずれかの完全修飾名 (パッケージ名を含む):

Java2WSDL ツールは、クラスを CLASSPATH に配置します。

オプション引数:

-help
ヘルプ・メッセージを表示します。
-output <WSDLfile>
出力 WSDL ファイルのパスとファイル名を示します。これを指定しない場合、 デフォルトの WSDL ファイル <class>.wsdl が現行ディレクトリーに書き込まれます。
データ型
ストリング。
装置
該当なし。
デフォルト
現行ディレクトリーの <class>.wsdl。
範囲
システムに有効なファイル名。
-location <location>
サービスのロケーション (URL) を提供します。通常、この値は、Web サービスのデプロイ時に自動的に入力されます。デプロイすることなく、 ロケーションの URL を含む WSDL ファイルを生成するには、 この引数でロケーションを指定します。ロケーションを指定しない場合は、警告が表示され、 最終的なロケーションが決まっていないため、生成される WSDL ファイルが公開できないことが 指摘されます。最後のスラッシュまたは円記号 (¥) の後の名前は、 サービス・ポートの名前です (-servicePortName 引数でオーバーライドされていない場合)。 サービス・ポート・アドレス・ロケーション属性には、指定した値が割り当てられます。
データ型
ストリング。
装置
該当なし。
デフォルト
file:undefined_location。
範囲
有効な URL ストリング。
-portTypeName <name>
portType 要素に使用する名前を指定します。指定しない場合は、<class> 名が使用されます。
データ型
ストリング。
装置
該当なし。
デフォルト
<class>。
範囲
該当なし。
-bindingName
バインディング要素に使用する名前を指定します。指定しない場合、 バインディング名は、サービス要素名 (-serviceElementName 引数) に「SOAPBinding」を 付加したものになります。
データ型
ストリング。
装置
該当なし。
デフォルト
<serviceElementName> <SOAPBinding>.
範囲
該当なし。
-serviceElementName <name>
サービス要素の名前を指定します。
データ型
ストリング。
装置
該当なし。
デフォルト
<portTypeName> Service。ここで <portTypeName> は、-portTypeName 引数またはデフォルトの portTypeName で指定した 名前です。
範囲
該当なし。
-servicePortName <name>
サービスの名前を指定します。指定しない場合、サービス名は、 -location 引数から派生します。
データ型
ストリング。
装置
該当なし。
デフォルト
-location 引数または <class> 名の最後の円記号「¥」の後の名前。
範囲
該当なし。
-namespace <targetNamespace>
生成される WSDL 文書のターゲット名前空間を表します。
データ型
ストリング。
装置
該当なし。
デフォルト
名前空間にマップされる <class> のパッケージ名。
範囲
該当なし。
-PkgtoNS <package> <namespace>
Java パッケージの名前空間へのマッピングを指定します。パッケージに 名前空間が存在しない場合は、Java2WSDL が適切な名前空間名を 生成します。この引数を繰り返すことにより、複数のパッケージのマッピングを指定することができます。
  • パッケージ:
    データ型
    ストリング。
    装置
    該当なし。
    デフォルト
    該当なし。
    範囲
    Java パッケージ名。
  • 名前空間:
    データ型
    ストリング。
    装置
    該当なし。
    デフォルト
    該当なし。
    範囲
    該当なし。
-methods <method> [,<method>...]
この引数を指定すると、クラス内の指定されたメソッドのみが WSDL ファイルに エクスポートされます。メソッドのリストは、コンマで区切る必要があります。 これを指定しない場合は、このクラスで定義したすべてのメソッドが WSDL ファイルに エクスポートされます。
データ型
ストリングのコンマ区切りリスト。
装置
該当なし。
デフォルト
<class> で定義したすべてのメソッド。
範囲
<class> またはその親クラスで定義したメソッド。

-all 引数でも、 組み込むメソッドを選択できます。

-all
この引数を指定すると、Java2WSDL は親クラスを調べて、WSDL ファイルにエクスポートするメソッドのリストを決定します。 -methods 引数は、 -all が指定されている場合は使用されません。 -stopClasses は、 メソッドの上方向スキャンを終了する時期を指定する引数です。
-implClass <impl-class>
Java2WSDL ツールは、メソッド・パラメーター名を使用して WSDL メッセージ・パーツ名を 構成します。メッセージ名は <class> 内のデバッグ情報から取得されます。 このクラスがデバッグ情報を含まずにコンパイルされた場合、またはこれがインターフェースである場合は、 メソッド・パラメーター名が入手できません。この場合は、-implClass 引数を使用して、 メソッド・パラメーター名を取得する代替クラスを提供します。 <impl-class> は、<class> がインターフェースである場合、<class> を実装する必要はありませんが、<class> と同じメソッドを実装する必要があります。
データ型
ストリング。
装置
該当なし。
デフォルト
該当なし。
範囲
CLASSPATH 内の <class> と同じメソッドを実装する Java クラス。
-stopClasses <parent> [,<parent>...]
Java2WSDL は、継承されたクラスおよびインターフェースを検索して、 WSDL 操作のメソッドのリストを構成します (-all 引数が 指定されている場合)。Java2WSDL は、拡張された complexType を生成する際に、 継承されたクラスおよびインターフェースを検索します。この検索は、Java または Javax で 始まるパッケージ内にあるクラスまたはインターフェースが検出された時点で 停止します。 -stopClasses 引数を使用して、 検索を停止させるその他のクラスを定義することもできます。
データ型
ストリングのコンマで区切られたリスト。
装置
該当なし。
デフォルト
デフォルトの stopClasses は java.* および javax.* です。
範囲
<class> の親クラス。
-style RPC | DOCUMENT | WRAPPED
生成された WSDL で使用される WSDL スタイルを指定します。この引数は、 -use 引数と一緒に使用されます。
  • RPC-use ENCODED と同時に指定するか、 -use を省略すると、style=rpc/use=encoded WSDL が 生成されます。
  • RPC-use LITERAL と同時に指定すると、 style=rpc/use=literal WSDL が生成されます。
  • DOCUMENT-use LITERAL と同時に指定するか、 -use を省略すると、style=document/use=literal WSDL が 生成されます。
  • WRAPPED-use LITERAL と同時に指定するか、 -use を省略すると、「ラップされた」フォーマットの style=document/use=literal WSDL が 生成されます。
  • DOCUMENT を指定すると、アンラップされた WSDL が 生成されます。

WRAPPED フォーマットの意味は次のとおりです。

  • 要求と応答に対して complexType が生成されます。
  • 要求の complexType は operation.request と同じ名前で、 そこには各入力パラメーターの要素が含まれています。
  • 応答の complexType は、operation + "Response" の名前で、 そこには各出力の要素が含まれています。
  • 要求メッセージは、「body」という名前の単一パーツを持つ要求 complexType を参照します。
データ型
ストリング。
装置
該当なし。
デフォルト
RPC.
範囲
RPC、DOCUMENT、または WRAPPED。
-use LITERAL | ENCODED
-style 引数と一緒に使用して、 スタイルと使用の 4 つの組み合わせのどれが WSDL、RPC/Enc、 RPC/Lit、Doc/Lit、または Doc-wrapped/Lit に生成されるかを決定します。詳しくは、WSDL バインディングのセクションを 参照してください。
データ型
ストリング。
装置
該当なし。
デフォルト
スタイルが RPC の場合は ENCODED、それ以外は LITERAL。
範囲
ENCODED または LITERAL。
--outputWsdlMode <mode>
<mode> の値によって、WSDL サービス・インターフェース文書または WSDL サービス実装文書を 生成します。この文書はそれぞれ、InterfaceImplementation で なければなりません。注: この引数の先頭には、 ハイフンを 2 つ付ける必要があります。こうしないと -output 引数と区別ができません。

トラブルシューティング

Java2WSDL が生成する WSDL には、 予期しない要素が含まれることがあります。実行される変換について詳しくは、JAX-RPC 仕様を参照してください。

WSDL2Java ツールを使用して Java に再生成する際にコンパイルできない出力を作成する WSDL 文書を 作成することもできます。これは、Java から WSDL への JAX-RPC マッピングが 可逆性ではないためです。この問題が発生した場合は、WSDL ファイルを調べて、望ましい結果が得られるように、必要に応じてそのファイルを変更してください。


フィードバック