EJB2WebService ツールを使用した Web サービスの作成

コマンド行から EJB2WebService ツールを使用すると、IBM® WebSphere® ランタイム環境を使用して、 ステートレス・セッション EJB Bean から Web サービスを生成することが できます。

始める前に

注: EJB2WebService13 コマンドが、 EJB v2.0 および J2EE 1.3 をサポートしているのに対し、EJB2WebService コマンドは、 EJB 2.1 および J2EE 1.4 をサポートしています。

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

このタスクについて

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

手順

  1. コマンド・プロンプトから install_directory/bin に移動します。
  2. 次のバッチ・スクリプトを実行します。
    • Windows:

      setupenv.bat

    • Linux:

      . setupenv.sh  

  3. Web サービスを作成するディレクトリーに移動します。 このディレクトリーを、コマンド行のテスト・ディレクトリーとして参照します。 Linux: このディレクトリーに対する書き込みアクセス権が必要です。

タスクの結果

これで、EJB2WebService ツールを使用して、 エクスポートされた EAR ファイルを含む Web サービスを作成できます。

Web サービスの作成

始める前に

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

このタスクについて

EJB2WebService ツールを使用して Web サービスを作成するには、 コマンド・プロンプトで次のように入力します。

手順

タスクの結果

注: <EJB.ear> は最終の引数でなければなりません。オプション引数および必須引数のリストについては、EJB2WebService ツールを参照してください。

ヒント:
  • オプション引数 -host <hostname:port> を指定することを お勧めします。このコマンドのデフォルト・ポートは 6080 ですが、WebSphere Application Server のデフォルト・ポートは 9080 です。
  • -project で指定するコマンド行テスト・ディレクトリーのパスと名前をメモしてください。この情報は、Web サービスのテストとデプロイのために必要になります。

これは、EJB2WebService ツールの使用方法の 一例です。

EJB2WebService -host localhost:9080 -ri MyEJB.remoteInterface -project MyEJBProject MyEJB.ear

EJB2WebService ツールの主な出力は、 生成されたディレクトリー構造のルートにある、オリジナルの EAR ファイルの 変更バージョン (<ProjectName>EAR.ear と呼ばれます) です。META-INF ディレクトリーは、<ProjectName> の下にも生成されます。 このディレクトリーには、生成された WSDL ファイル、Java™ クラスなどが 保持されています。 -server-side-only 引数を指定しない場合は、 追加の Java ファイル (複合型の シリアライザー・クラス、デシリアライザー・クラスなど) が含まれるクライアント・サイド・ディレクトリーも 作成されます。

EAR ファイルを生成したら、それをサーバーにデプロイして、 他の人に利用してもらうことができます。

次のタスク

重要: -splitWsdl 引数を使用すると、 EAR ファイルが生成されますが、それをワークスペースにインポートし、 単体テスト環境またはリモート・サーバーにデプロイすると、 サーバーの始動時に例外が発生します。この例外は、ルーターの Web プロジェクトに WSDL が欠落しているために起こります。 このエラーを防ぐためには、次のいずれかを実行してください。
  • 管理コンソールを使用して、スタンドアロンの WebSphere Application Server にデプロイします。
  • モノリシック WSDL を使用します。-splitWsdl 引数は使用しないでください。
  • EJB プロジェクト内の META-INF/wsdl ディレクトリーにある すべての WSDL ファイルを、ルーター Web プロジェクトの WEB-INF/wsdl に、 手動でコピーします。

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

このタスクについて

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

手順

  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

フィードバック