JAX-WS アプリケーション用の wsgen コマンド

wsgen コマンド行ツールは、Java™ コードから開始する際に、Java API for XML Web Services (JAX-WS) アプリケーションが要求する必要な成果物を生成します。生成される成果物は Java 5 に準拠しており、さまざまな Java のバージョンおよびプラットフォーム間で移植可能です。

JAX-WS Web サービスの開発にボトムアップのアプローチを使用して、サービス・エンドポイント実装から開始する場合、必要な JAX-WS 成果物を生成するため、wsgen ツールを使用します。

サポートされる構成 サポートされる構成: wsimportwsgenschemagen、および xjc コマンド行ツールは、z/OS® プラットフォームではサポートされていません。この機能は、z/OS プラットフォームで稼働する WebSphere® Application Server で提供されるアセンブリー・ツールによって提供されます。 これらのツールについての詳細は、JAX-WS アプリケーションのこれらのコマンド行ツールに関する説明を参照してください。sptcfg
ベスト・プラクティス ベスト・プラクティス: WebSphere Application Server は、Java API for XML-Based Web Services (JAX-WS) および Java Architecture for XML Binding (JAXB) のツールを提供します。wsimportwsgenschemagen、および xjc コマンド行ツールは、WebSphere Application Server traditionalapp_server_root¥bin¥ ディレクトリーにあります。xjc コマンドおよび schemagen コマンド は、Liberty プロファイルの app_server_root¥jaxb¥bin¥ ディレクトリーにあります。 WebSphere Application Server および JDK が提供するツールによって生成される成果物は両方とも、同じレベルの仕様をサポートすることがあります。 一般的に、JDK ツールにより生成される成果物は、 その他の対応しているランタイム環境間で移植可能です。ただし、 WebSphere Application Server 環境内で シームレスな統合を実現して、WebSphere Application Server のみで サポートされる機能を利用するには、この製品で提供されるツールを使用するのがベスト・プラクティスです。JAX-WS および JAXB V2.2 ツールを 利用するには、アプリケーション・サーバーで提供され、 app_server_root¥bin¥ ディレクトリーにある ツールを使用します。bprac
注: コマンド行ツール wsimportwsgenschemagen および xjc は、アプリケーション・サーバーの Liberty と WebSphere Application Server traditional の両方で使用できます。
wsgen ツールは、@WebService アノテーションを入力データとして使用して、 適切にアノテーションを付けたサービス・エンドポイント実装を受け入れ、以下の成果物を生成します。
  • メッセージの内容をマーシャルおよびアンマーシャルするのに必要な、 追加の Java Architecture for XML Binding (JAXB) クラス。
  • オプションの -wsdl 引数が指定されている場合の WSDL ファイル。 wsgen ツールは、WSDL ファイルを自動的に生成しません。

JAX-WS V2.2 ツールを使用する場合は、java.lang.RuntimeException および java.rmi.RemoteException 参照およびそれらのサブクラスは、WSDL ファイル内に マップされなくなりました。この動作変更は JAX-WS V2.1 仕様のセクション 3.7 に 記述されている規格適合ルールに準拠しています。この規格適合ルールは、 java.lang.RuntimeException および java.rmi.RemoteException クラス およびサブクラスをサービス特有の例外として扱うことはできず、WSDL ファイル内に マップできないことを指定しています。

コマンド行からツールを使用する方法に加えて、 これらの JAX-WS ツールを WebSphere Application Server traditional の Ant ビルド環境内から 起動することができます。wsgen ツールを起動するには、Ant ビルド環境内から com.sun.tools.ws.ant.WsGen Ant タスク を使用します。 この Ant タスクが正しく作動するようにするには、 ws_ant スクリプトを使用して Ant を起動する必要があります。

トラブルの回避 (Avoid trouble) トラブルの回避 (Avoid trouble): wsgen コマンドは、異なる Java パッケージ内で定義される同じ @XMLType 名を持つ複数の XMLType アノテーション間で XML 名前空間を区別しません。このシナリオが発生すると、 以下のエラーが出力されます。
エラー: Two classes have the same XML type name ....
Use @XmlType.name and @XmlType.namespace to assign different names to them...
このエラーは、名前が同一であって、 異なる Java パッケージ内に存在する クラス名または @XMLType.name 値があることを示します。このエラーを回避するには、既存の @XMLType アノテーションに、@XML.Type.namespace クラスを追加して、XML タイプを区別します。gotcha

JAX-WS アプリケーションでは、wsgen コマンド行ツールで完全プロファイルの共有クラス・ファイルが見つからないことがあります。com.ibm.websphere.webservices.WSDL_Generation_Extra_ClassPath カスタム・プロパティーを使用して、これらのクラス・ファイルのロケーションを指定できます。詳しくは、Java 仮想マシンのカスタム・プロパティーに関する資料を参照してください。

構文

コマンド行構文は次のとおりです。

[Windows]
app_server_root¥bin¥wsgen.bat [options] service_implementation_class
[AIX][HP-UX][Linux][Solaris]
app_server_root/bin/wsgen.sh [options] service_implementation_class
[IBM i]
app_server_root/bin/wsgen [options] service_implementation_class

パラメーター

service_implementation_class 名が、唯一必要なパラメーターです。 以下のパラメーターは、wsgen コマンドのオプションです。

-classpath <path>
サービス実装クラスのロケーションを指定します。
-cp <path>
サービス実装クラスのロケーションを指定します。この パラメーターは -classpath <path> と同じです。
-d <directory>
生成済み出力ファイルを保管する場所を指定します。
-extension
JAX-WS 仕様で指定されていない機能のカスタム拡張を使用可能にするかどうかを指定します。拡張を使用すると、ポータブルではないアプリケーションになるか、または他の実装と相互運用されなくなることがあります。
-help
ヘルプ・メニューを表示します。
-keep
生成済みソース・ファイルを保持するかどうかを指定します。
-r <directory>
このパラメーターは、-wsdl パラメーターと共にのみ使用されます。 生成済み WSDL ファイルを保管する場所を指定します。
-s <directory>
生成済みソース・ファイルを保管するディレクトリーを指定します。
-verbose
コンパイラーが実行している内容を出力するメッセージを指定します。
-version
バージョン情報を出力します。このオプションを指定した場合、 バージョン情報のみが出力され、通常のコマンド処理は行われません。
-wsdl [:protocol]
デフォルトでは、wsgen ツールは WSDL ファイルを生成しません。このオプション・パラメーターは、wsgen に WSDL ファイルを生成させますが、通常は、エンドポイントがデプロイされる前に開発者が WSDL ファイルを確認できるようにするためのみに使用されます。 protocol はオプションで、wsdl:binding で使用されるプロトコルを指定します。protocol の有効な値は、soap 1.1 および Xsoap 1.2 です。デフォルト値は soap 1.1 です。Xsoap 1.2 値は標準ではなく、-extension オプションと共にのみ使用されます。
-servicename <name>
このパラメーターは -wsdl オプションと共にのみ使用されます。 WSDL ファイルで生成される wsdl:service 名を指定します。 以下に例を示します。
-service name "{http://mynamespace/}MyService"
-portname
このパラメーターは -wsdl オプションと共にのみ使用されます。 WSDL ファイルで生成される wsdl:port 名を指定します。 以下に例を示します。
-portname "{http://mynamespace/}MyPort"

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_wsgen
ファイル名:rwbs_wsgen.html