この項目には WSDL2Java コマンド行ツールに関する情報が記載されています。 このツールは WSDL ファイルに対して実行され、Java API およびデプロイメント記述子テンプレートを 作成します。
Web サービス記述言語 (WSDL) ファイルに Web サービスの説明があります。 Java API for XML-based Remote Procedure Call (JAX-RPC) 1.1 仕様は、 Web サービスと対話する Java API マッピングを定義します。 Web Services for Java 2 Platform, Enterprise Edition (J2EE) 1.1 仕様は、 J2EE 環境で Web サービスをデプロイするデプロイメント記述子を定義します。 WSDL2Java コマンドは、WSDL ファイルに対して実行され、 上記仕様に従った Java API およびデプロイメント記述子テンプレートを作成します。
API の完全なリストについては、API 文書を参照してください。 また、Web サービス: 学習用リソースにある Web サービスの開発についての項目も検討します。
WSDL2Java [arguments] WSDL-URI
Universal Resource Identifier (URI) を使用して、入力 WSDL ファイルのロケーションを指定します。 WSDL ファイルがローカル・ファイル・システムにある場合は、通常のファイル・パスも使用できます。
develop-client 引数と deploy-client 引数の組み合わせです。
クライアント・デプロイメント用のバインディング・ファイルを生成します。
サーバー・デプロイメント用のバインディング・ファイルを生成します。
クライアント開発用のファイルを生成します。
サーバー開発用のファイルを生成します。
develop-server 引数と deploy-server 引数の組み合わせです。
クライアント・コンテナーを指定します。
Enterprise JavaBeans (EJB) コンテナーを指定します。
コンテナーなしを指定します。
Web コンテナーを指定します。
発行されたファイルのルート・ディレクトリーを設定します。
Web Services for J2EE 1.1 マッピング・ファイルのファイル名を指定します。
新しい Web サービス API で既存の Java Bean を使用します。
シナリオによっては、 新規クラスを生成する代わりに既存の Java クラスを使用することができます。 -introspect オプションは、WSDL2Java コマンドがクラス生成時に既存の Java クラスを調べるように指示します。 既存のクラスの、JAX-RPC 仕様に対する検証が行われます。以下に例を示します。
public class Bean { public Date x; }WSDL ファイルは x を xsd:dateTime と定義します。 -introspect オプションを指定しない場合、 WSDL2Java コマンドは、次の例のような Java Bean を生成します。
public class Bean { private Calendar x; public void setx(Calendar value) (x=value;) public Calendar getX() { return x;) }WSDL2Java コマンドは、-introspect オプションを使用し、 元の Java Bean を調べて、既存の Java Bean と互換性のあるクラスを生成します。
Java クラスを検索する代替クラスパスを定義します。
XML 型の Java 型へのバインディングを使用不可にします。 その代わり、個々の XML 型は、 SOAP with Attachments API for Java (SAAJ) 仕様で定義された javax.xml.soap.SOAPElement インターフェースにマップされます。
JAX-RPC プログラミング・モデルは、SAAJ 1.2 をサポートします。
Java プログラミング・モデルは、XML タイプのサブセット用の Java マッピングを定義します。XML 型には、 Java Bean またはプリミティブにマップできないものがあります。この場合、 WSDL2Java コマンドはその型を SAAJ SOAPElement にマップします。SAAJ SOAPElement は、 エレメントのメッセージでの汎用表記です。SOAPElement 上のメソッドを使用すると、 エレメントとその子を調べることができます。
シナリオによっては、 汎用的な SOAPElement マッピングのみを使用する方が適切な場合もあります。 SOAPElement の使用方法の詳細については、SOAP with Attachments API for Java およびカスタム・ データ・バインダーを参照してください。
API の完全なリストについては、API 文書を参照してください。 また、Web サービス: 学習用リソースにある Web サービスの開発についての項目も検討します。
ヘルプ・メッセージを表示して終了します。
拡張オプションのヘルプ・メッセージを表示します。 オプションは以下のとおりです。
生成されたファイルの名前を含む、処理情報を表示します。
デフォルトでは、パッケージ名は WSDL ファイル内のネーム・スペース・ストリングから自動的に派生します。 例えば、ネーム・スペースの形式が http://x.y.com または urn:x.y.com である場合、 対応するパッケージは com.y.x です。
-NStoPkg 引数を使用して、独自のマッピングを提供できます。 この引数は、各固有ネーム・スペース・マッピングごとに一度ずつ、 必要なだけ繰り返すことができます。 例えば、WSDL ファイル内に urn:AddressFetcher2 という ネーム・スペースがあり、このネーム・スペース内のオブジェクトから生成されたファイルを パッケージ samples.addr に含める場合は、WSDL2Java コマンドに -NStoPkg "http://urn:AddressFetcher2/"=samples.addr 引数を指定します。
WSDL2Java コマンドが WSDL-URI の応答を待機する時間を、秒単位で指定します。 デフォルトは 45 秒で、-1 はタイムアウトを使用不可にします。
absolute-import resolver クラスを生成します。 このクラスの目的は、WSDL URI が使用する、インポートされた WSDL ファイルの内容を記録することです。 このクラスはランタイムで使用され、また、今後の WSDL2Java コマンドの実行にも使用できます。 インポートされた WSDL ファイルがリモート環境にあり、アクセスできない場合には、 この柔軟性が役に立ちます。 インポート・リゾルバーを使用する場合は、 リモート WSDL ファイルの内容が実行時と開発時で異なる可能性は除外されます。 生成されるクラスの名前は _AbsoluteImportResolver.java になります。 このクラスを、WSDL2Java コマンドにより生成されたもう一方の Java クラスと一緒にコンパイルおよび圧縮します。
構文解析時に使用する absolute-import resolver クラスを指定します。 このクラスは、-genResolver オプションを指定した WSDL2Java コマンドの前回の実行時に作成されているはずです。 このクラスは、CLASSPATH 変数で使用可能でなければなりません。
すべての要求に対しインプリメンテーション・クラスの 1 つのインスタンスを使用します。
要求ごとにインプリメンテーション・クラスの新規インスタンスを作成します。
セッションごとにインプリメンテーション・クラスの新規インスタンスを作成します。
WSDL URI にアクセスするための、ログイン・ユーザー名を指定します。
WSDL URI にアクセスするためのログイン・ユーザー・パスワードを指定します。
参照されないものも含め、すべての型の Java ファイルを生成します。
デバッグ情報を印刷します。
生成された個々の Java Bean が、 java.io.Serializable をインプリメントするかどうかを示します。デフォルトは false です。
生成された個々の Java Bean が、 equals メソッドおよび hashCode メソッドを有するかどうかを示します。デフォルトは false です。
ラップされた操作の検出を使用不可にします。 要求および応答メッセージ用の Java Bean が生成されます。
ラップされた配列の検出を使用不可にします。
マッピングをパッケージするネーム・スペースのファイルを指定します。 デフォルトは、NStoPKG.properties です。
インストール済みの WSDL サービス専用のファイルを生成します。
Web サービスをテストするための、 JUnit テスト・ケースのテンプレートを生成します。JUnit は、反復可能テストを作成するための簡単なフレームワークです。