Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編


9.6.10 応答を取り出す(TP1/EE,JMS)

〈この項の構成〉

(1) TP1/EEの場合

TP1/EEのAPI(DBキュー制御)を使用して,応答用のキュー(受信用共用キュー)があるデータベースを参照して,応答のバイナリデータを取り出します。正常な応答電文の伝わり方については,マニュアル「サービスプラットフォーム 解説」の「2.5.3 同期のサービス部品を呼び出す場合の応答電文の扱い」を参照してください。

詳細については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。

応答のバイナリデータの形式を次の表に示します。

表9‒18 バイナリデータの形式(応答電文)

項番

項目

長さ(バイト)

データ型

説明

1

ヘッダタグ

4

char

HCSCメッセージ振り分け用の先頭タグです(アイキャッチャ)。

「DBQH」が設定されます。

ASCIIコードでエンコードされているバイナリデータが設定されます。

2

バイトオーダーフラグ

1

byte

要求時に指定したバイトオーダーフラグが設定されます。

3

予備

3

byte

予備領域です。

4

長さ

4

int

HCSCメッセージング用のヘッダの長さ(項番5から項番19までの長さ)が設定されます。

5

タグ

8

char

パラメタ識別用のタグです(アイキャッチャ)。

「ServiceN」が設定されます。

ASCIIコードでエンコードされているバイナリデータが設定されます。

6

長さ

4

int

次のエリア(項番7)の長さです。

バイト単位で設定されます。

7

サービス名

任意

String

要求時に指定したサービスアダプタまたはビジネスプロセスが設定されます。

UTF-8コードでエンコードされているバイナリデータが設定されます。

8

タグ

8

byte

パラメタ識別用のタグです(アイキャッチャ)。

「ClientID」が設定されます。

ASCIIコードでエンコードされているバイナリデータが設定されます。

9

長さ

4

int

次のエリア(項番10)の長さです。

バイト単位で設定されます。

10

クライアント相関ID

任意

String

サービスリクエスタからの要求電文を一意に識別するための相関識別子です。

255文字以内の英数字,アンダーバー(_),ピリオド(.)およびハイフン(-)で設定されます。

UTF-8コードでエンコードされているバイナリデータが設定されます。

11

タグ

8

byte

パラメタ識別用のタグです(アイキャッチャ)。

「ResFmtID」を指定します。

ASCIIコードを使用してください。

12

長さ

4

int

次のエリア(項番13)の長さです。

バイト単位で指定してください。

13

HCSCレスポンスフォーマットID

任意

String

応答電文のフォーマット定義を一意に識別するためのIDです。

このパラメタ,長さ,およびタグは設定されません。

14

タグ

8

byte

パラメタ識別用のタグです(アイキャッチャ)。

「OperatiN」が設定されます。

ASCIIコードでエンコードされているバイナリデータが設定されます。

15

長さ

4

int

次のエリア(項番16)の長さです。

バイト単位で設定されます。

16

サービスオペレーション名

任意

String

要求先のサービス名に対するオペレーション名です。

255バイトのXMLSchemaのNCName定義文字で設定されます。

UTF-8コードでエンコードされているバイナリデータが設定されます。

17

タグ

8

byte

パラメタ識別用のタグです(アイキャッチャ)。

「MessageT」が設定されます。

ASCIIコードでエンコードされているバイナリデータが設定されます。

18

長さ

4

int

次のエリア(項番19)の長さです。

バイト単位で設定されます。

19

応答電文種別

任意

String

メッセージ(応答電文)の種別です。

電文種別がXML電文の場合,「XML」が設定されます。メッセージ(応答電文)がない場合,このパラメタは省略されます。

UTF-8コードでエンコードされているバイナリデータが設定されます。

20

タグ

8

byte

パラメタ識別用のタグです(アイキャッチャ)。

「MgLength」が設定されます。

ASCIIコードでエンコードされているバイナリデータが設定されます。

21

長さ

4

int

次のエリア(項番22)の長さです。

「4」が設定されます。

22

メッセージ長

4

int

メッセージ(応答電文)の長さが設定されます。

メッセージ(応答電文)がない場合,0バイトが設定されます。

23

メッセージ

任意

byte[]

次のどちらかの情報が設定されます。

  • サービス部品からの応答電文

  • サービス部品,ビジネスプロセス,およびサービスアダプタからのエラー情報(フォルト情報)

UTF-8コードでエンコードされているバイナリデータが設定されます。

注※

Javaのデータ型です。

(2) JMSの場合

受信用共用キューから応答(JMSメッセージ)を取り出すには,MDBで実装する方法とSessionBeanで実装する方法があります。MDBおよびSessionBeanの実装については,マニュアル「Reliable Messaging」を参照してください。

なお,取り出した応答(JMSメッセージ)のペイロードに設定されたバイナリデータの形式については,表9-18を参照してください。