ページの先頭行へ戻る
Interstage Studio ユーザーズガイド
Interstage

C.2.8 Statless Session BeanをWebサービス化する

Stateless Session BeanをWebサービス化するための手順について説明します。

(1) Stateless Session Beanの作成

プロジェクトの作成

プロジェクトの作成に関しては"EJBを作成する準備をする"を参照してください。

このとき、[EJBモジュールバージョン]は[2.1]を選択します。

Enterprise Beanの作成

[新規Enterprise Bean]ウィザードでEnterprise Beanを作成します。

  1. Enterprise Bean種別
    [Enterprise Bean種別]では、[Stateless Session Bean]を選択します。

  2. インタフェース生成オプション
    Stateless Session Beanを作成する場合は、[LocalHome/Localインタフェースを生成する]を選択してください。Webサービスからだけ呼び出されるStateless Session Beanの場合はLocalHome/Localインタフェースは不要ですが、ここでは、[LocalHome/Localインタフェースを生成する]を選択してください。

    注意

    Interstage Application Serverで運用するEJB2.1アプリケーションは、Home/Remoteインタフェース経由でのリモートアクセスをサポートしていません。

  3. ビジネスメソッド定義

    Webサービスで公開するメソッドを定義します。ウィザード終了後に生成されたEnterprise Beanクラスに定義したメソッドを実装します。

サービスエンドポイントインターフェースの作成

生成したEnterprise Beanクラスからサービスエンドポイントインタフェースを作成します。

サービスポイントインタフェースでは以下の条件を満たすようにしてください。

ポイント

インタフェースの生成は[インタフェースの抽出]機能を利用して生成できます。

  1. プロジェクトエクスプローラで生成したEnterprise Beanクラスを選択します。

  2. コンテキストメニューから[リファクタリング] > [インタフェースの抽出]を選択します。

  3. [インタフェースの抽出]ダイアログボックスの[インタフェース内で宣言されるメンバ]で公開するメソッドを選択します。

  4. 生成されたインタフェースをサービスエンドポイントインタフェースの条件を満たすように修正します。

(2) Stateless Session BeanのWebサービス化

Stateless Session BeanをWebサービス化するには、以下の対応が必要となります。

Webサービスウィザードを利用することで、サービスエンドポイントインタフェースから、上記のファイルの更新、生成を自動で行うことができます。

Webサービス(JAX-RPC)ウィザードによるStateless Session BeanのWebサービス化

WebサービスウィザードでStateless Session BeanをWebサービス化します。ウィザードの詳細については"Webサービスに必要なファイルの生成"を参照してください。

  1. ソースフォルダ
    [ソースフォルダ]には、Webサービス化したいEnterprise JavaBeansプロジェクトのソースフォルダを指定します。Enterprise JavaBeansバージョンが"2.1"でないプロジェクトは指定できません。

  2. サービスエンドポイントインタフェース名
    作成したサービスエンドポイントインタフェース名を指定します。

ポイント

Stateless Session BeanのWebサービス化では、Enterprise Beanクラスが実装クラスとなるため、実装クラス名を設定する必要はありません。

注意

以下のEnterprise JavaBeansをWebサービス化しようとした場合は、ウィザードでエラーとなります。

  • 同一のサービスエンドポイントインタフェースを複数のEnterprise Beanクラスで実装している場合

  • 同じEnterprise Beanクラスを別のEJB名で登録してある場合

(3) EARファイルにパッケージング

Webサービス化されたStateless Session Beanを配備する場合は、モジュールは必ずEARファイルにパッケージングします。

(4) 配備

作成したEARファイルをInterstage Application ServerのJ2EE実行環境に配備します。

注意

Webサービス化したStateless Session Beanを含むEARファイルは、以下のJ2EE実行環境に配備してください。それ以外のJ2EE実行環境に配備すると失敗します。

  • WebアプリケーションとEJBアプリケーションを同一JavaVMで運用

ポイント

Webサービス化したStateless Session BeanをIJServerクラスタに配備すると、自動的にEJB SOAPルータと呼ばれるWebアプリケーションが組み込まれます。

WebサービスではHTTPプロトコルでリクエストが送受信されるため、Webサービス化されたStateless Session Beanを運用する場合にはSOAP(HTTP)からのリクエストを送受信するためのServletが必要になります。このServletのことをEJB SOAPルータと呼びます。

EJB SOAPルータはWebサービス化されたStateless Session Beanを含むEJB JARファイルに対して1つずつ作成されます。