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 が「ラップ済み」フォーマットで生成されます。
「ラップ済み」フォーマットは次のことを意味します。
- 要求と応答に対して、complexType が生成されます。
- 要求の complexType は「操作.要求」と同名になり、各入力パラメーターのエレメントがここに含まれます。
- 応答の complexType は「操作 + "Response"」という名前になり、各出力のエレメントごとに含まれます。
- 要求メッセージは、"body" という名前の 1 パーツを含む要求 complexType を参照します。
- データ型
- ストリング
- 単位
- 適用されません
- デフォルト
- RPC
- 範囲
- RPC、DOCUMENT、または WRAPPED
- -use LITERAL | ENCODED
- -style 引数と合わせて、
style と use の 4 つの組み合わせのいずれが WSDL、RPC/Enc、RPC/Lit、Doc/Lit、
または Doc-ラップ済み/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 ファイルを検査し、目的の結果が得られるよう必要に応じて修正してください。