Java2WSDL ツール
は、Java™
クラスを WSDL 文書にマップします。
Java2WSDL ツールは、入力として
Java
クラスを受け取り、そのクラスを表す WSDL ファイルを出力として生成します。出力先の場所にファイルが存在する場合、そのファイルは上書きされます。
Java2WSDL によって生成される WSDL 文書には、入力したクラスから自動的に導出された WSDL と XML スキーマの構成が含まれています。コマンド行引数を使用することで、このようなデフォルト値の多くをオーバーライドできます。
構文
Java2WSDL ツールは、<WS-install-dir>¥appserver¥bin ディレクトリーにあります。
Java2WSDL [<arguments>] <class>
引数
必須引数:
<class>
- 以下のいずれかの
Java
クラスの完全修飾名 (パッケージ名を含む) です。
- ステートレス・セッション EJB のリモート・インターフェース (javax.ejb.EJBObject を継承)
- サービス・エンドポイント・インターフェース (java.rmi.Remote を継承)
- Java Bean
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
- binding 要素に対して使用する名前を指定します。指定しないと、バインディング名は、service 要素の
名前 (-serviceElementName 引数) の後に "SOAPBinding" を付加したものになります。
- データ・タイプ
- ストリング。
- 単位
- 適用されません。
- デフォルト
- <serviceElementName> <SOAPBinding>。
- 範囲
- 適用されません。
- -serviceElementName <name>
- service 要素の名前を指定します。
- データ・タイプ
- ストリング。
- 単位
- 適用されません。
- デフォルト
- <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 ファイルにエクスポートする
メソッドのリストを決定します。-all を指定すると、-methods 引数は
使用されません。メソッドの上方へのスキャンを終了するタイミングは、-stopClasses 引数で
指定します。
- -implClass <impl-class>
- Java2WSDL ツールは、メソッド・パラメーター名を使用して、WSDL のメッセージ部分の名前を
構成します。メッセージ名は、<class> のデバッグ上方から取得されます。このクラスがデバッグ情報なしでコンパイルされた場合、またはこのクラスがインターフェースの場合は、メソッド・パラメーター名は使用できません。このような場合には、-implClass 引数を使用して、
メソッド・パラメーター名を取得する代わりのクラスを指定します。<class> がインターフェースの
場合は、<impl-class> は <class> をインプリメントしなくても
かまいませんが、<class> と同じメソッドをインプリメントする必要があります。
- データ・タイプ
- ストリング。
- 単位
- 適用されません。
- デフォルト
- 適用されません。
- 範囲
- <class> と同じメソッドをインプリメントする
CLASSPATH 内の
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 が
「wrapped」フォーマットで生成されます。
WRAPPED フォーマットは次のことを意味します。
- 要求と応答に対して、complexType が生成されます。
- 要求の complexType は「オペレーション.要求」と同名になり、各入力パラメーターのエレメントがここに含まれます。
- 応答の complexType は「オペレーション + "Response"」という名前になり、各出力の要素ここに含まれます。
- 要求メッセージは、"body" という名前の単一部分を含む要求 complexType を参照します。
- データ・タイプ
- ストリング。
- 単位
- 適用されません。
- デフォルト
- RPC。
- 範囲
- RPC、DOCUMENT、または WRAPPED。
- -use LITERAL | ENCODED
- -style 引数と合わせて、style と use の 4 つの組み合わせのいずれが WSDL、RPC/Enc、RPC/Lit、Doc/Lit、または Doc-wrapped/Lit に生成されるかを
決定します。詳しくは、WSDL バインディングの節を参照してください。
- データ・タイプ
- ストリング。
- 単位
- 適用されません。
- デフォルト
- style が RPC の場合は ENCODED、それ以外の場合は LITERAL。
- 範囲
- ENCODED または LITERAL。
- --outputWsdlMode <mode>
- <mode> の値に Interface または Implementation のどちらかを
指定して、それぞれ、WSDL サービス・インターフェース文書または WSDL サービス・インプリメンテーション文書を
生成します。注: -output 引数と区別するために、
この引数の前にはハイフンを 2 つ付ける必要があります。
トラブルシューティング
Java2WSDL によって生成される WSDL には、
予期しない要素が含まれる場合があります。実行される変換について詳しくは、JAX-RPC の仕様を確認してください。
また、WSDL2Java ツールを使用して
Java
に再生成されるとき、コンパイル不可能な出力を作成する WSDL 文書を作成することもできます。これは、Java
から WSDL への JAX-RPC のマッピングが可逆的ではないためです。この問題が発生した場合は、WSDL ファイルを検査し、目的の結果が得られるよう必要に応じて
修正してください。