このツールは、次の 3 つのステージで使用します。
注: ステージ 1 を複数回実行すると、関連のある Web サービスを 同一のプロジェクト・ディレクトリーに作成することができます。ステージ 3 では、 個々の Web サービスに対して別々のモジュールを作成し、そのモジュールを同じ EAR ファイルに 追加することができます。
WSDL2WebService ツールを使用する前に、次の手順で、Web サービスのコマンド行を セットアップする必要があります。
これで、WSDL2WebService ツールのステージ 1 を実行できます。
スケルトン Web サービス実装を作成するには、 コマンド・プロンプトで次のように入力します。
注: 引数 <WSDL URI> (大/小文字の区別があります) は、最後に置く必要があります。 オプション引数または必須引数のリストについては、WSDL2WebService ツールを 参照してください。
-createService <ServiceName> 引数を指定して ツールを実行したら、複数のサブディレクトリーを含む <ServiceName> という名前のディレクトリーが、 指定したプロジェクトの下に作成されます。これらのサブディレクトリーには、Web サービス実装の 作成に必要な Java テンプレートが すべて含まれています。
これは、WSDL2WebService ツールの使用方法の一例です。
WSDL2WebService -createService ejb1Service -project dir:¥myproj¥ejbDir -host localhost:9080 -contextRoot ejb1Service -type EJB -verbose dir:¥TempConv.wsdl
スケルトン Java ファイルは、作成する Web サービスを正しく実装するように、 変更する必要があります。Java スケルトンに 正しいコードを追加したら、今度はそれをコンパイルする 必要があります。このコードすべてをコンパイルするのに役立つ、 compile と呼ばれるビルド・スクリプトも生成されます。
実装コードをコンパイルする手順は、 次のとおりです。
サービスを作成し、実装コードを Java スケルトンに 追加し、新しいコードをコンパイルしたら、Web サービス対応アーカイブを作成する 必要があります。Web サービス対応アーカイブを作成するには、コマンド・プロンプトで 次のように入力します。
オプション引数または必須引数の説明については、WSDL2WebService ツールを 参照してください。
ヒント: Web サービスのテストとデプロイを行う場合は、 -project で指定するコマンド行テスト・ディレクトリーのパスと名前を メモしてください。
実装コードを作成し、コンパイルして、-createEar <File.ear> 引数を指定してツールをもう一度実行した場合、出力は、 新規 EAR ファイルか更新済みの EAR ファイルです。ここには、-add 引数で指定した各 Web サービス名の Web サービス・モジュールが含まれます。また、Web サービスを実装するサーバー・サイド・クラスが、WEB-INF¥classes ディレクトリーに移動していますが、 これが正常な場所です。 -server-side-only 引数を指定しない場合は、 追加の Java ファイル (複合型の シリアライザー・クラス、デシリアライザー・クラスなど) が含まれるクライアント・サイド・ディレクトリーも 作成されます。
EAR ファイルを生成したら、それをサーバーにデプロイして、 他の人に利用してもらうことができます。デプロイについては、 コマンド行ツールを使用した Web サービスのサーバーへのデプロイを参照してください。
WSDL2WebService -createEAR dir:¥myear¥ejb1ear.ear -project dir:¥myproj¥ejbDir -add ejb1Service -verbose localhost:9080/ejb1Service/services/TempConv
WSDL2WebService -createEar dir:¥myear¥ejb1ear.ear -rootModule ejb1Service/services/Service -host localhost:9080 -project dir:¥myproj¥MultiService
これで MultiServiceEAR.ear が作成され、
そこには、マージされた Web サービスを含む単一のモジュール Service_WEB.war が入っています。
このモジュールのコンテキスト・ルートは Service_WEB です。WSDL ファイル内のすべてのサービス・エンドポイントの
ホスト名とポート番号は、localhost:9080 に変更されます。WSDL2WebService ツールは、(1 つ以上の含まれている Web サービスによってアクセスされる) JAR または EJB ファイルを EAR ファイルのルートに配置できるようにすることにより、コードの再利用をサポートします。すべてのクラスをサービスと同じ名前の JAR ファイルに保存することにより、Web サービス実装を再利用できます。これらのクラスを JAR ファイルに保存するには次のステップを実行します。