BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA WebLogic Server での BEA Jolt の使用   |   先頭へ   |   前へ   |   次へ   |   目次

 


サービスから結果を受信する

ServletSessionPool.call() メソッドは、Tuxedo サービスの結果を含む ServletResult オブジェクトを返します。サービス呼び出しが失敗すると、例外がスローされます。このような例外を迅速に把握し、適切な処理を行う必要があります。発生する可能性のある例外については、『BEA Jolt』の「BEA Jolt の例外」を参照してください。

次の例では、HTTP サーブレットの ServletSessionPool.call() メソッドを使用して ServletResult オブジェクトを取得します。

  ServletResult sResult = ssPool.call("service_name", request);

この例では、ssPoolServletSessionPoolrequestHttpServletRequest になります。

ServletSessionPool.call() メソッドによって Result オブジェクトが返されます。このオブジェクトは、ServletResult オブジェクトとしてキャストする必要があります。ServletResult オブジェクトは、Java 文字列でデータを取得するメソッドを提供します。

呼び出しが成功したら、さまざまな形式の getValue() メソッドを使用して Result または ServletResult オブジェクトから個々のパラメータを取り出すことができます。

Result.getValue() メソッドを使用する

Jolt リポジトリの定義に応じて、Tuxedo サービスのパラメータに対応するキーを指定することにより、ServletResult からデータが取り出されます。適切な getValue() メソッドにキーを指定すると、対応する値のオブジェクトが返されます。

また、Result.getValue() メソッドは、キーのルックアップが失敗すると、デフォルト値のオブジェクトを返します。返されたオブジェクトは、Tuxedo サービスの定義に応じて適切なデータ型にキャストする必要があります。たとえば、次のコードでは、

  Integer answer = (Integer) resultSet.getValue("Age", null);

キー "Age" を指定して ServletResult で返された値に整数 answer を設定するか、ServletResult にこのキーが存在しない場合は null を返します。Tuxedo と Java のデータ型の対応については、「Java のデータ型を Tuxedo のデータ型に変換する」の表を参照してください。

キーに関連付けられた値の配列を指定することができます。この場合、getValue() メソッドによって、そのインスタンスにある配列の最初の要素が返されます。次のコードでは、

  public Object getValue(String name, int index, Object defVal)

このメソッドのシグニチャを使用して、配列内の特定のインデックス指定要素を参照します。

ServletResult.getStringValue() メソッドを使用する

ServletResultResult の機能を拡張し、追加のメソッドを提供します。

  public String getStringValue(String name,
                               int index,
                               String defVal)
                             
  public String getStringValue(String name,
                               String defVal)

これらのメソッドは、Result クラスの getValue() メソッドと同様に動作しますが、該当する値のオブジェクトを Java 文字列型で返します。CARRAY は、「Java のデータ型を Tuxedo のデータ型に変換する」で説明したように、2 桁の 10 進数の文字列に変換されます。

 

先頭へ戻る 前のトピックへ 次のトピックへ