WebSphere JAX-RPC ランタイム環境を使用した エンタープライズ Bean (EJB) からの Web サービスの作成

「Web サービス (Web Service)」ウィザードを使用すると、新規 Web サービスの作成、 そのサービスのデプロイメント用の構成、および Web サービスのサーバーへのデプロイを、簡単に行うことができます。 Web サービスをデプロイした後では、このウィザードに従うと、 クライアント・プロキシーおよびサンプル・アプリケーションを生成して、Web サービスをテストすることができます。 テストが完了したら、「エクスポート」ウィザードを使用して、Web サービスを UDDI Business Registry に公開することができます。

前提条件:

作成される Web サービスは、エンタープライズ Bean のクライアントとして 機能します。エンタープライズ Bean は、Web サービス・ウィザードが起動する前に デプロイする必要があります。

注: この製品では、 エンタープライズ Bean Web サービスをステートレス・セッション・エンタープライズ Bean から作成することができます。

Web サービスのエンタープライズ Bean からの作成

  1. J2EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」 > 「J2EE」)。
  2. 「プロジェクト・エクスプローラー」ビューで「EJB モジュール」を展開し、Web サービスの生成元となるセッション Bean を選択します。
  3. ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。 「Web サービス」ウィザードを選択します。「次へ」をクリックします。
  4. 「Web サービス」ページ:「Web service type」ドロップダウン・ リストから「Bottom up EJB Web service」を選択します。ワークスペースで使用可能なステートレス・セッション・エンタープライズ Bean からサービス実装を選択します。 次の操作を実行するオプションもあります。
    1. スライダーを使用して完了させたい Web サービス開発のステージを選択します。
      • 開発: Web サービスの WSDL 定義および実装を作成します。 これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java™ ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
      • アセンブル: これにより、Web サービスまたはクライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。 ルーター・モジュールはこのステージで作成されます。
      • デプロイ: これにより、サービスのデプロイメント・コードが作成されるようになります。
      • インストール: これにより、Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。 WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
      • 始動: これにより、サービスがサーバーにインストールされると、サーバーが始動するようになります。
      • テスト: これにより、Web Service Explorer またはサンプル JSP の使用などの、サービスをテストするためのさまざまなオプションが提供されます。
    2. サーバーの選択: デフォルト・サーバーが表示されます。 サービスを別のサーバーにデプロイしたい場合には、リンクをクリックして別のサーバーを指定してください。
    3. ランタイム環境の選択: デフォルトのランタイム環境が表示されます。 サービスを別のランタイム環境にデプロイしたい場合には、リンクをクリックして別のランタイムを指定してください。
    4. サービス・プロジェクトの選択: ワークスペースで選択されたプロジェクトを含むプロジェクトが表示されます。 別のプロジェクトと EAR を選択するためには、プロジェクト・リンクをクリックしてください。 クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。
    5. クライアントを作成したい場合には、生成したいプロキシーのタイプを選択し、クライアントについて上記のステップを繰り返します。
    6. Web サービスの公開: Web サービス・エクスプローラーを起動して、Web サービスを UDDI レジストリーに公開します。 HTTP トランスポートを使用する Web サービスのテストには、 Web サービス・エクスプローラーのみ使用可能であることに注意してください。
    7. Web サービスのモニター: Web サービス・トラフィックを TCP/IP モニターを介して送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。 あるいは、『TCP/IP モニターを使用した Web サービスのテスト (Using the TCP/IP Monitor to test Web services)』で説明されているように、TCP/IP モニターを手動でセットアップすることができます。 HTTP トランスポートを使用する Web サービスのモニターのみ可能であることに注意してください。
  5. 「Web Service EJB Configuration」ページ:
    1. 既存のサービス・エンドポイント・インターフェースがある場合は、 それを選択して使用することもできます。あるいは、Web サービス・ウィザードで生成することも あります。
    2. バインディング・タイプおよびルーター・プロジェクトを選択します。 選択したバインディングのタイプごとに、ルーター・プロジェクト名を入力します。
    3. SOAP アクションを設定します。このオプションは、生成された WSDL の「soapAction」フィールドの設定に使用されます。デフォルトでは、「soapAction」フィールドはデプロイメント情報に基づいて設定されます。 「なし」を指定すると、「soapAction」フィールドは二重引用符 ("") に設定されます。「Operation」を指定すると、「soapAction」フィールドにはオペレーション名が設定されます。
    4. WSDL 1.1 標準を使用して MIME 型を排他的にマップすることも選択できます。 MIME 型が WSDL 1.1 標準に合わせてマップできない場合は (例えば、添付ファイルが 配列または Java Bean プロパティーである場合)、このコマンドは失敗します。
  6. 「EJB Web Service Binding Configuration」ページ: 前のページで EJB または JMS バインディングを選択した場合は、バインディングに関する情報を 入力します。
    • JMS 宛先タイプ: 宛先タイプとしてキューまたはトピックを選択します。
    • JMS 宛先: 宛先キューまたはトピックの JNDI 名です。
    • JMS 接続ファクトリー: 接続ファクトリーの JNDI 名です。
    • JMS ターゲット・サービス: 要求のディスパッチ先になるポート・コンポーネントの名前です。
    • JMS リスナー入力ポート: メッセージ駆動型 Bean (MDB) に関連付けられるリスナー入力ポートの名前です。
    • JMS 初期コンテキスト・ファクトリー: 使用する初期コンテキスト・ファクトリーの名前です。 これは java.naming.factory.initial プロパティーにマップされます。
    • JMS JNDI プロバイダー URL: これは java.naming.provider.url プロパティーにマップされます。
    • JMS 送達モード: 要求メッセージを永続的にするかどうかを指定します。
    • JMS 存続時間: 要求メッセージのミリ秒単位の存続時間です。 値 0 は存続時間が連続することを表します。
    • JMS 優先順位: 要求メッセージに関連する JMS 優先順位です。
    • JMS ユーザー ID: 接続ファクトリーへのアクセス権を得るために使用するユーザー ID です。
    • JMS パスワード: 接続ファクトリーへのアクセス権を得るために使用するパスワード。
  7. 「Web Service Java Bean Identity」ページ: このページには、Web サービス URI と、 生成された WSDL ファイルの場所がリストされます。このページには、 次のオプションがあります。
    • メソッド・パネルには、Bean のメソッドの要約が表示されます。生成した Web サービスのメソッドの、 組み込みまたは除去を選択できます。
    • Set the void return - このフィールドは、Web サービスからの応答が予想されるかどうかを記述する void の戻り型がある Web サービス・メソッドで使用されます。 Oneway: void 戻りのあるメソッドが片方向です。この引数は JMS トランスポートの場合のデフォルトです。 Twoway: void 戻りのあるメソッドが両方向です。この引数は HTTP トランスポートの場合のデフォルトです。
    • Web サービスのスタイルとエンコード方式を選択します。文書/リテラルのみが WS-I に 準拠しています。
    • セキュリティーを使用可能にするように選択します。セキュリティーを使用可能にすると、Web サービス は WS-I に非準拠となります。
    • パッケージからネームスペースへのカスタマイズされたマッピングを定義します。
    • エクストラ・クラスと停止クラスを指定します。エクストラでは、WSDL ファイルに示されているその他のクラスを指定します。 -stopClasses 引数を使用して、 検索を停止させるその他のクラスを定義することができます。
  8. 「名前空間マッピングへの Web サービス・パッケージ (Web Service Package to Namespace Mappings)」ページ: Web サービス・ウィザードは、指定されたエンタープライズ Bean から WSDL ファイルを生成します。デフォルトでは、エンタープライズ Bean のパッケージ名に基づいて名前空間を作成します。このデフォルトの動作を無効にするには、WSDL ファイルに生成される独自の名前空間を指定してください。直前のパネルで 「Define custom mapping for package to namespace」を選択した場合は、 このパネルで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。 あるいは、「インポート」をクリックして、.properties ファイルから カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、 package = namespace というフォーマットでなければなりません。
  9. 「Web サービスのテスト」ページ: Web サービスのテストを選択した場合、 生成した Web サービスに対するテスト機能を選択し、「起動」をクリックする。これにより、Web サービス・エクスプローラーでその Web サービスが開きます。 テストするオペレーションを選択し、必要な情報を入力して「Go」をクリックします。「状況」ペインに結果が表示されます。 Web サービスのテストを完了したら、ブラウザー・ウィンドウをクローズして、「次へ」をクリックする。
  10. プロキシーの生成を選択すると、「Web Service Proxy」ページが 表示されます。クライアント・プロキシーは、Web サービスへのリモート・プロシージャー・コール・インターフェースを提供します。Java クライアント・プロキシーのフォルダーは、デフォルトでは / EJBWebProjectClient です。 オプションで、生成済みプロキシーのセキュリティーを使用可能にするか、 パッケージからネームスペースへのカスタム・マッピングを定義するかを選択できます。
  11. 「Web Service client package to namespace mapping」ページ: 直前のパネルで 「Define custom mapping for package to namespace」を選択した場合は、 このパネルで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。 あるいは、「インポート」をクリックして、.properties ファイルから カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、 package=namespace というフォーマットでなければなりません。
  12. 生成済みプロキシーのテストを選択すると、「Web Service Client test」ページが 表示されます。このページを使用して、次のオプションを選択します。
    • テスト機能を選択します。 生成したプロキシーを Universal Test Client または Web サービス・エクスプローラーでテストするか、 またはサンプル Web サービス JSP を生成することができます。
    • JSP を使用してプロキシーをテストする方法を選択した場合、JSP を配置するフォルダーを選択し、JSP に組み込むメソッドを選択できます。
  13. Web サービスの公開を選択した場合は、「Web Service Publication」ページを使用して、 公開先の UDDI レジストリーを選択する。「終了」をクリックします。
  14. Web サービスを作成すると、選択したオプションに応じて、次の状態になります。
    • 生成したプロキシーを Web サービスのサンプル JSP を使用してテストすることを選択した場合、 Web ブラウザーで URL: http://localhost: port/EJBWebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp を指定すると、プロキシーが起動します。 このサンプル・アプリケーションを使用すると、メソッドを選択し、 そのメソッドに値を入力して「Invoke」をクリックすることにより、Web サービスをテストできます。 メソッドの結果は、結果ペインに表示されます。
    • 生成したプロキシーを Universal Test Client によってテストする方法を 選択した場合、次の URL を指定すると、プロキシーがブラウザー・ウィンドウで 起動されます: http://localhost:9080/UTC/preload?object= BeanPackage BeanServiceProxy。「Object References」の下の「参照」ペインで、このプロキシー・スタブを展開して Web サービスのメソッドを 表示します。テストするメソッドをクリックし、「パラメーター」ペインに値を入力して 「Invoke」をクリックします。下に結果が生成されます。
    • Web サービス・エクスプローラーの使用による Web サービスのテストを選択すると、エクスプローラーが開きます。 テストするオペレーションを選択し、必要な情報を入力して「Go」をクリックします。「状況」ペインに結果が表示されます。
    • Web サービスの公開を選択した場合、Web サービス・エクスプローラーが起動し、IBM® UDDI テスト・レジストリーに Web サービスを公開するために必要なページが表示されます。「Web サービスの公開 (Publishing the Web service)」の指示に従って、 このタスクを完了します。

EJB について詳しくは、EJB アプリケーション開発の文書を 参照してください。EJB から Web サービスを作成するサンプルについては、 チュートリアル・ギャラリーとサンプル・ギャラリーを参照してください。


フィードバック