コマンド行から WSDL2WebService ツールを使用すると、IBM® WebSphere® ランタイム環境を使用して WSDL ファイルから Web サービスを生成できます。
このツールは、次の 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
作成する Web サービスを正しく実装できるよう、スケルトン Java ファイルを変更する必要があります。Java スケルトンに正しいコードを追加した後、Java スケルトンをコンパイルする必要があります。compile というビルド・スクリプトも生成され、このすべてのコードをコンパイルするために 利用できます。
実装コードをコンパイルするには、次の手順を実行します。
サービスを作成し、実装コードを Java スケルトンに追加して、新規コードをコンパイルした後、Web サービス対応のアーカイブを作成する必要があります。Web サービス対応のアーカイブを作成するには、コマンド・プロンプトで次のように入力します。
オプショナル引数および必須引数の説明については、『WSDL2WebService ツール』を参照してください。
ヒント: Web サービスをデプロイおよびテストする場合は、-project に指定したコマンド行テスト・ディレクトリーのパスおよびその名前をメモしておいてください。
実装コードを作成およびコンパイルし、-createEar <File.ear> 引数を指定して再びこのツールを 実行すると、新規または更新された EAR ファイルが出力されます。このファイルには、-add 引数によって指定した各 Web サービス名に対し、Web サービス・モジュールが 1 つずつ含まれます。また、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これにより、マージされた Web サービスを含む Service_WEB.war という単一のモジュールを含む、MultiServiceEAR.ear が作成されます。このモジュールのコンテキスト・ルートは Service_WEB です。WSDL ファイルのすべてのサービス・エンドポイントのホスト名およびポート番号は、localhost:9080 に変更されます。
WSDL2WebService ツールでは、 JAR または EJB ファイルを EAR ファイルのルートに配置できるようにして、コードの再利用をサポートします。 JAR または EJB ファイルには、中に含まれる 1 つ以上の Web サービスがアクセスします。サービスと同じ名前の JAR ファイルに、すべてのクラスをアーカイブすることにより、Web サービス実装情報を再利用することができます。クラスを JAR ファイルにアーカイブするには、以下のステップに従って実行してください。