WSDL2Client ツールを使用した Web サービス・クライアントの作成

WSDL2Client ツールは、1 つ以上の WSDL 文書から完全にデプロイ可能な Web サービス・クライアントを生成し、 オプションで、それらをアプリケーション・サーバーにデプロイします。

始める前に

前提条件:

このタスクについて

このツールは、次の 4 つのステージで使用します。

手順

  1. -project 引数を指定してツールを実行し、 特定の WSDL 文書で記述される Web サービスのスケルトン・クライアント・インプリメンテーション・テンプレートを 作成します。
  2. テンプレートで実装コードを作成し、ステージ 1 で生成したビルド・スクリプトを使用して、 そのコードをコンパイルします。
  3. -clientType J2SE オプションを指定し、さらに -genMain オプションを指定する場合は、ステージ 1 で生成した実行スクリプトを使用して、 クライアントを実行します。
  4. -clientType オプションを Application、EJB、 または Servlet と指定した場合は、-createEar 引数を指定してツールをもう一度実行し、 この実装から Web サービス・クライアント対応のアーカイブを作成して、 それをアプリケーション・サーバーにデプロイします。

コマンド行のセットアップ

このタスクについて

WSDL2Client ツールを使用する前に、次の手順で、Web サービスのコマンド行を セットアップする必要があります。

手順

  1. コマンド・プロンプトから install_directory/bin に移動します。
  2. 次のバッチ・スクリプトを実行します。
    • Windows: setupenv.bat
    • Linux: . setupenv.sh
  3. Web サービス・クライアントを作成するディレクトリーに移動します。 このディレクトリーを、コマンド行のテスト・ディレクトリーとして参照します。 Linux: このディレクトリーに対する書き込みアクセス権が必要です。

タスクの結果

これで、WSDL2Client ツールのステージ 1 を実行できます。

スケルトン Web サービス・クライアント実装の作成

始める前に

注: WSDL2Client ツールには 2 つのバージョンがあります。WSDL2Client コマンドを実行すると、 J2EE 1.4 が使用されます。J2EE 1.3 を使用する WSDL2Client コマンドを使用することも できます。以下のコマンドのいずれの場合も、J2EE 1.3 を使用する Web サービスを作成する際には、 WSDL2ClientWSDL2Client13 で置換することができます。

このタスクについて

スケルトン Web サービス・クライアント実装を作成するには、 コマンド・プロンプトで次のように入力します。

手順

タスクの結果

重要:
  • 引数 <WSDL URI> (大/小文字の区別があります) は、最後に置く必要があります。 オプション引数または必須引数のリストについては、WSDL2Client ツールを 参照してください。
  • 以下の説明に従って Web サービス・クライアント対応アーカイブを作成する計画がある場合は、 スケルトン Web サービス・クライアント実装を作成する際に -clientType 引数を指定する必要があります。

ヒント: -project で 指定するコマンド行テスト・ディレクトリーのパスと名前をメモしてください。 この情報は、後で Web サービスのデプロイとテストのために必要になります。

-project <ProjectDir> 引数を指定して ツールを実行したら、複数のサブディレクトリーを含む「client-side」という名前のディレクトリーが、 指定したプロジェクトの下に作成されます。 これらのサブディレクトリーには、必要な Java テンプレート (複合型のシリアライザー・クラスおよび デシリアライザー・クラス、Web サービス実装の作成に必要なデプロイメント記述子など) が すべて含まれています。 -clientType オプションと -genMain オプションを指定した場合は、 クライアント・タイプ用に生成されたメインクラス・インプリメンテーション・テンプレートもここに入っています。

このすべてのコードをコンパイルするのに役立つ、buildclient_new と呼ばれるビルド・スクリプトも生成されます。 -clientType J2SE 引数を指定して ツールを実行した場合は、runclient と呼ばれる実行スクリプトが生成されます。

クライアント実装コードのコンパイル

このタスクについて

クライアント・コードをコンパイルする手順は、次のとおりです。

手順

  1. <ProjectDir> ディレクトリーに移動し、次に client-side ディレクトリーに 移動します。
  2. 実装コードに、.jar ファイルや、.class ファイルを含むディレクトリーなどの 依存性がある場合は、コンパイル・スクリプトを編集して、これらの依存性の絶対パス名を、 USER_CLASSPATH 変数に追加します。 例:
    • Windows: set USER_CLASSPATH = c:¥MyJars¥webservice.jar;c:¥MyClasses
    • Linux: USER_CLASSPATH = /home/MyJars/webservice.jar:/home/MyClasses
  3. 次のコマンドを入力します。buildclient_new

J2SE Web サービス・クライアントの実行

このタスクについて

J2SE Web サービス・クライアントを実行する手順は、次のとおりです。

手順

  1. <ProjectDir> ディレクトリーに移動し、次に client-side ディレクトリーに 移動します。
  2. 実装コードに、.jar ファイルや、.class ファイルを含むディレクトリーなどの 依存性がある場合は、コンパイル・スクリプトを編集して、これらの依存性の絶対パス名を、 USER_CLASSPATH 変数に追加します。 例:
    • Windows: set USER_CLASSPATH = c:¥MyJars¥webservice.jar;c:¥MyClasses
    • Linux: USER_CLASSPATH = /home/MyJars/webservice.jar:/home/MyClasses
  3. 次のコマンドを入力します。runclient

Web サービス・クライアント対応アーカイブの作成

このタスクについて

Web サービス・クライアント対応アーカイブを作成する手順は、次のとおりです。

手順

  1. install_directory/bin ディレクトリーに移動します。
  2. 次のコマンドを入力します。WSDL2Client [<optional arguments>] -createEar <File.ear> -clientType <Application | EJB | Servlet> <ProjectDir>

タスクの結果

重要:
  • 最後の引数は <ProjectDir> で、この引数は「client-side」ディレクトリーを 含まなければなりません。
  • -createEar 引数を正常に実行するためには、このタスクで前述したように、 スケルトン Web サービス・クライアント実装を 作成する際に -clientType 引数を指定する必要があります。

実装コードを作成し、コンパイルして、-createEar <File.ear> 引数を指定してツールをもう一度実行した場合、出力は、 新規 EAR ファイルか更新済みの EAR ファイルです。Web サービスを実装するクライアント・サイド・クラスが、META-INF¥classes ディレクトリーに移動していますが、 これが正常な場所です。 -clientType サーブレットを指定した場合は、 クライアント・サイド・クラスは WEB-INF¥classes ディレクトリーに 移動しています。

EAR ファイルを生成したら、それをサーバーにデプロイして、 他の人に利用してもらうことができます。デプロイについては、 コマンド行ツールを使用した Web サービスのサーバーへのデプロイを参照してください。


フィードバック