JAX-RPC アプリケーションの Java2WSDL コマンド
Java2WSDL コマンド行ツールは、Java™ クラスを Java API for XML-based RPC (JAX-RPC) アプリケーションの WSDL ファイルにマップします。
Java2WSDL コマンド行ツールは z/OS® プラットフォームではサポートされません。
この機能は、製品の z/OS バージョンで提供されるアセンブリー・ツールによって提供されます。
Java2WSDL コマンドは、Java API for XML-based Remote Procedure Call (JAX-RPC) 1.1 仕様に従って、 Java クラスを Web サービス記述言語 (WSDL) ファイルにマップします。
Java2WSDL コマンドは、 Java クラスを入力データとして受け入れ、入力クラスを表す WSDL ファイルを生成します。 出力場所にファイルが存在する場合、そのファイルは上書きされます。Java2WSDL コマンドによって生成される WSDL ファイルには、 入力クラスから自動的に派生する WSDL と XML のスキーマ構造が含まれています。これらのデフォルト値は、コマンド行引数でオーバーライドできます。
Java2WSDL コマンドはプロトコルに依存しません。つまり、Java2WSDL コマンドを実行するときに、 WSDL ファイルで SOAP と非 SOAP の両方のプロトコル・バインディングを生成するコマンド行オプションを指定できます。 生成できるバインディングごとに、Java2WSDL コマンドのバインディング・ジェネレーターによって、 そのバインディング用の WSDL が生成されます。
コマンド行構文と引数
Java2WSDL [argument...] class
以下のコマンド行引数がサポートされています。
必須引数
- クラス次のいずれかの Java クラスの完全修飾名を表します。
- javax.ejb.EJBObject クラスを拡張する、Stateless Session Enterprise JavaBeans (EJB) リモート・インターフェース
- java.rmi.Remote クラスを拡張するサービス・エンドポイント・インターフェース
- Java Bean
重要な引数
- -location location
サービスの公開場所や URL を指定します。 この情報を提供しないと、 最終的な公開場所がまだ決まっていないという警告が出されます。 サービス・ロケーションは、通常 Web サービスがデプロイされるとオーバーライドされます。
最後の円記号 (¥) の後の名前は、-servicePortName 引数によってオーバーライドされていない限り、 サービス・ポートの名前になります。サービス・ポートのアドレス・ロケーション属性には、指定された値が割り当てられます。複数のエンドポイント・アドレスを指定できます。 -location オプションは、 必要なバインディング・タイプが 1 つだけである場合にのみ指定することをお勧めします。 複数のバインディング・タイプが要求される場合は、-x フラグを使用したコマンド行を介して、 プロトコル・バインディング固有のロケーション・プロパティーが渡されます。
次の例は、SOAP over HTTP バインディングおよび SOAP over Java Message Service (JMS) バインディングの生成方法を表しています。
-location オプションを使用して -location オプション値が適用されるポートを判別するには、 バインディング固有のプロパティー値を介してエンドポイント URL を指定する必要があります。java2wsdl -bindingTypes http, jms ¥ -x http.location=http://your.server.name:9080/StockQuoteService/services/StockQuote ¥ -x jms.location= ¥ jms:/queue?destination=jms/MyQueue&connectionFactory=jms/MyCF&targetService=StockQuote
- -output wsdl-uri
出力 WSDL ファイルのパスおよびファイル名を指定します。指定がない場合は、 デフォルトの class.wsdl ファイルが現行ディレクトリーに書き込まれます。
- -input wsdl-uri
出力 WSDL ファイルの作成に使用する入力 WSDL ファイルを指定します。 既存の WSDL ファイルからの情報はこのオプションで指定され、 入力 Java クラスと一緒に、出力生成のために使用されます。
- -bindingTypes 出力 WSDL ファイルに書き込むバインディング・タイプのリストを指定します。 Java2WSDL コマンドに含まれる各バインディング・ジェネレーターは、 それぞれ特定のバインディング・タイプをサポートしています。 有効なバインディング・タイプの値は、http (SOAP over HTTP)、jms (SOAP over JMS)、 および ejb (ローカルまたはリモートの EJB 呼び出し) です。 例えば、次のコマンドを使用すると、 サービス・エンドポイント・インターフェース my.pkg.MySEI および実装クラス my.pkg.MyEJBClass 用の、 SOAP over HTTP バインディングおよび EJB バインディングを生成することができます。
次のコマンドは、-bindingTypes オプションを使用して、 SOAP over HTTP バインディングおよび SOAP over JMS バインディングを生成する場合の例です。java2wsdl -bindingTypes http, ejb -implClass my.pkg.MyEJBClass my.pkg.MySEI
java2wsdl -bindingTypes http, jms -implClass my.pkg.MyEJBClass my.pkg.MySEI
- -style RPC | DOCUMENT
生成された WSDL ファイルで使用する WSDL スタイルを指定します。詳しくは、『JAX-RPC アプリケーションの Java 言語、WSDL、および XML 間のマッピング』の情報を参照してください。 この引数は、-use 引数と一緒に使用されます。
RPC を -use ENCODED と一緒に指定すると、 style=rpc/use=encoded WSDL ファイルが生成されます。RPC を -use LITERAL オプションと一緒に指定すると、 style=rpc/use=literal WSDL ファイルが生成されます。DOCUMENT を -use LITERAL オプションと一緒に指定すると、 style=document/use=literal WSDL ファイルが生成されます。
- -use LITERAL | ENCODED
-style 引数と一緒に使用する場合は、style と use のどのような組み合わせを WSDL ファイルに生成するかを指定します。 この組み合わせは、rpc と encoded、rpc と literal、または doc と literal のいずれかです。この設定は、 すべての SOAP バインディングに適用されます。 詳しくは、『JAX-RPC アプリケーションの Java 言語、WSDL、および XML 間のマッピング』の情報を参照してください。
- -transport http | jms
HTTP (デフォルト) または JMS いずれかのための SOAP バインディングを生成します。 JMS を指定すると、WSDL ファイル名に jms という文字が追加され、 別のトランスポートの既存の WSDL ファイルが上書きされないようにします。トランスポート・オプションは 1 回しか指定できません。
このオプションは推奨されません。 -transport オプションの代わりに -bindingTypes オプションを指定すると、 非 SOAP に固有のバインディングを生成することができます。
- -portTypeName name
portType エレメントに使用する名前を指定します。指定がない場合、 バインディング名はポート・タイプの名前になります。
- -bindingName name
バインディング・エレメントに使用する名前を指定します。指定がない場合、 バインディング名はポート・タイプの名前になります。
- -serviceElementName name
サービス・エレメントの名前を指定します。
- -servicePortName name
サービスの名前を指定します。指定がない場合、 サービス名は -location 引数から派生した名前になります。
- -namespace targetNamespace
生成されている WSDL ファイルの ターゲット名前空間を示します。デフォルトの名前空間の取得に使用するアルゴリズムについては、『JAX-RPC アプリケーションの Java 言語、WSDL、および XML 間のマッピング』の情報を参照してください。
- -PkgtoNS package namespace
Java パッケージの名前空間へのマッピングを指定します。 パッケージに名前空間がない場合、Java2WSDL コマンドは名前空間名を生成します。 -PkgtoNS 引数を繰り返すことで、複数のパッケージのマッピングを指定できます。
- -extraClasses classes
WSDL ファイルで表されるその他のクラスを指定します。
- -implClass impl-class
Java2WSDL コマンドは、 WSDL ファイルのメッセージ部分の名前を構成するために、メソッド・パラメーター名を使用します。このコマンドは、クラスのデバッグ情報から 自動的にメッセージ名を取得します。クラスがデバッグ情報 なしでコンパイルされている場合、または、クラスがインターフェースの場合は、メソッド・パラメーター名は使用できません。この場合は、-implClass 引数を使用して、メソッド・パラメーター名の取得元となる代替クラスを指定できます。 そのクラスがインターフェースの場合、impl-class でクラスを実装する必要はありませんが、 そのクラスと同じメソッドを実装する必要があります。
- -verbose
冗長メッセージを表示します。
- -help
ヘルプ・メッセージを表示します。
- -helpX
拡張オプションのヘルプ・メッセージ、 またはバインディング・ジェネレーターでサポートされる各種オプションのヘルプ・メッセージを表示します。
その他の引数
- -wrapped boolean
ラップされたルールに従って WSDL ファイルを生成するかどうかを指定します。 このオプションは、use がリテラルの場合にのみ有効です。 デフォルトのオプションは true です。
- -stopClasses parent [, parent]
Java2WSDL コマンドは、 継承されたクラスおよびインターフェースを検索して、-all 引数が指定された場合の WSDL ファイル操作用メソッドのリストを構成します。
また、Java2WSDL コマンドは、拡張 complexTypes を生成する際に、継承クラスとインターフェースを検索します。 java または javax で始まるパッケージ内にクラスまたはインターフェースが見つかると、 検索は停止します。 -stopClasses 引数を使用すると、これ以外にも検索を停止させるクラスを定義することができます。
- -methods argument
サービス・エンドポイント・インターフェースから、 出力 WSDL ファイルで公開する必要のあるメソッド名のリストを指定します。 このリストは、スペースまたはコンマで区切られています。
- -soapAction 有効な引数は以下のとおりです。
- DEFAULT
デプロイメント情報に従って soapAction フィールドを設定します。
- NONE
soapAction フィールドを二重引用符 ("") に設定します。
- OPERATION
soapAction フィールドをオペレーション名に設定します。
- DEFAULT
- -outputImpl impl-wsdl
インターフェースおよび実装 WSDL ファイルが必要かどうかを指定します。
- -locationImport location-uri
-outputImpl 引数を使用する場合に、 インターフェース WSDL ファイルのロケーションを指定します。
- -namespaceImpl namespace
-outputImpl 引数を使用する場合に、 実装 WSDL ファイルのターゲット名前空間を指定します。
- -MIMEStyle <style>
Multipurpose Internet Mail Extensions (MIME) タイプを指定します。 このタイプは、バインディング・エレメント用の接続参照 (wsi:swaRef) 付きで Web Services Interoperability (WS-I) SOAP へのマップに使用されます。
<style> は、 以下のいずれかです。- WSDL11 (デフォルト): WSDL 1.1 標準を使用して MIME タイプを排他的にマップします。 MIME タイプが WSDL 1.1 標準にマップできない場合、このコマンドは失敗します。
- AXIS: AXIS 標準を使用して MIME タイプをマップします。例えば、イメージは axis:image となります。
- swaRef: 以下の 2 つの注意点を伴い、WSDL 1.1 標準を使用して MIME タイプをマップします。
- DataHandler は、アプリケーションおよびオクテット・ストリームではなく wsi:swaRef エレメントにマップされます。
- WSDL 1.1 によるマッピングが許可されない場合は、wsi:swaRef エレメントにマップされます。
- -propertiesFile argument既存のオプション (-extraClasses など) を、 コマンド行ではなくプロパティー・ファイルによって設定します。以下は、 この引数の使用例です。
extraClasses=com.ibm.Class1, com.sun.Class2,org.apache.Class3
- -voidReturn有効な引数は以下のとおりです。
- ONEWAY
void リターンのあるメソッドは片方向です。 JMS トランスポートでは、この引数がデフォルトです。
- TWOWAY
void リターンのあるメソッドは両方向です。 HTTP トランスポートでは、この引数がデフォルトです。
- ONEWAY
- -debug
デバッグ・メッセージを表示します。
- -property または -x-x オプションを使用すると、 さまざまなバインディング・ジェネレーターにコマンド行オプションを渡すことができます。 プロパティー値のセットを、 Java2WSDL コマンドが呼び出す個々のバインディング・ジェネレーター・メソッドに渡すように指定するには、 コマンド行で -x オプションを複数回使用します。また、-x オプションを一度だけ使用して、 複数のプロパティーを、例えば以下のようにコンマで区切って指定することもできます。
これは、下記と同じです。java2wsdl -x prop1=value1 -x prop2=value2
-x オプションには、 必要に応じて、バインディング・ジェネレーターごとに個別に各コマンド行オプションを指定できるという柔軟性があります。 -x オプションで指定した値は、 同等のコマンド行オプションで指定した値がある場合、その値をオーバーライドします。java2wsdl -x prop1=value1,prop2=value2