このトピックでは、J2EE アプリケーション サーバーにデプロイされた EJB リモート オブジェクトのメソッドを呼び出す EJB Client ツールを構成および適用する方法について説明します。このセクションの内容:

EJB Client ツールとは

EJB Client は、JNDI クエリーまたは Object Data Bank から EJB リモートオブジェクトを取得します。その後、取得したオブジェクトのメソッドを呼び出すことができます。メソッドの戻り値は、 Diff ツールや Object Data Bank などの連結されたツールに渡すことができます。

EJB Client ツールを使用して EJB リモート オブジェクトの特定のメソッドを呼び出すには、リモート オブジェクトのソースを指定する必要があります。EJB リモートオブジェクトは、JNDI クエリーを使用してリモート ディレクトリから取得するか、SOAtest のローカルな Object Data Bank から取得できます。後者の場合、前に呼び出した EJB Client ツールから戻り値として返された EJB リモート オブジェクトを Object Data Bank に格納しておく必要があります。

EJB Client ツールは、少なくとも 1 回は JNDI クエリーを使用して EJB リモート オブジェクトを取得する必要があります。 その後は、Object Data Bank を使用して同じ EJB リモート オブジェクトを取得できます。これによって、同じ EJB リモート オブジェクトを取得するために複数回 JNDI クエリーを実行する必要がなくなります。

EJB 2.0 のステートフル EJB の場合は、Object Data Bank ツールを連結して戻り値の EJB オブジェクトを保存します。これにより、後続のテストでメソッドを呼び出すことができます。

EJB Client ツールの構成

EJB Client ツールのオプションは、 EJB リモートオブジェクトをどこから取得するかによって ([JNDI クエリー] または [Object Data Bank]) 異なります。

JNDI クエリーから EJB リモートオブジェクトを取得

JNDI Query を使用して EJB リモートオブジェクトを取得するには、 [EJB リモート オブジェクト ソース] エリアで [JNDI クエリー] を選択し、以下のパラメーターを設定します。

Object Data Bank から EJB リモート オブジェクトを取得

Object Data Bank から EJB リモートオブジェクトを取得して後続のテストで使用できるようにするには、戻り値を Object Data Bank に格納しておく必要があります。以下の操作を行います。

  1. EJB Client ツールのノードを右クリックし、[出力の追加 ] > [オブジェクト出力 ] > [新規出力 ] > [Object Data Bank] をクリックします。
  2. Object Data Bank のコントロールパネルで、[列名] に後で値を識別するためのユニークな名前を指定します。

値を Object Data Bank に格納した後、 EJB Client ツールの [EJB リモート オブジェクト ソース] サブパネルで [Object Data Bank] を選択し、以下のパラメーターを指定します。

テスト実行中に使用された Data Bank 変数の参照

コンソール ビューにテスト実行中に使用された Data Bank 変数を表示できます。コンソール ビューは [ウィンドウ] > [ビューの表示] > [コンソール] から表示できます。詳細については、「[コンソール] ビュー」を参照してください。

回帰コントロールの使用

EJB Client ツール テストのセットに対して回帰テスト コントロールを作成または更新するには、テストを含むテスト スイートを右クリックし、[更新] または [回帰コントロールの作成] をクリックします。データ ソースを使用している場合は、[複数コントロール] を選択します。

IBM WebSphere Application Server (WAS) 上でデプロイされた EJB の呼び出し

SOAtest に同梱されている Sun JRE を使用して WebSphere Application Server (WAS) にデプロイされた EJB を呼び出す場合、特別な構成が必要です。また、このマニュアルで説明されているその他のすべての設定が適用されます。SOAtest を構成するには、次の操作を行います:

  1. Sun Initial Context Factory (com.sun.jndi.cosnaming.CNCtxFactory) を使用します: この設定は、EJB Client の JNDI プロパティで行う必要があります。この設定を行うには、Sun の j2ee.jar が SOAtest のクラスパス上に存在していなければなりません。この .jar ファイルは、 Oracle Java のサイトから入手できます。SOAtest にクラス ファイルを追加する方法の詳細については、「システム プロパティの設定」を参照してください。

  2. EJB Client の JNDI プロパティで、corbaloc:iiop:WAS:2809 の書式でプロバイダー URL を使用します。WAS は WebSphere Application Server の場所です (例:corbaloc:iiop:bison:2809)。
  3. EJB Client の JNDI プロパティで、次の書式でオブジェクト名を指定します: cell/nodes/[node]/servers/[server]/YOUR_EJB_OBJECT_NAME (たとえば cell/nodes/bisonNode01/servers/server1/ejb/BasicCalculator)

XML Encoder/Decoder ツールを EJB Client と使用

XML Encoder および XML Decoder は補完的なツールであり、Java Bean オブジェクト グラフを XML 表現に変換 (XML Encoder) または互換性のある XML 出力を Java Bean に変換 (XML Decoder)します。

XML Encoder および XML Decoder ツールは、EJB テストを作成する場合に特に便利です。 XML Encoder を使用すると、EJB ツールの Java Bean オブジェクト出力を XML 形式に変換できます。この出力をさらに XML Transformer などの別の SOAtest ツールで操作し、XML ドキュメントの必要な部分を抽出または変更することができます。XML Decoder ツールを使用すると、変更された XML 出力を Java Bean フォーマットに戻すことができます。結果を Object Data Bank に連結し、変更された Java Bean オブジェクトを後続のテストでツールの入力として使用できます。

EJB ツールの XML またはオブジェクト出力に容易にツールを追加できることを覚えておいてください。 EJB ツールの XML 出力は、 XML Encoder によって変換されたオブジェクト出力です。