9.6.10 応答を取り出す(TP1/EE,JMS)
- 〈この項の構成〉
(1) TP1/EEの場合
TP1/EEのAPI(DBキュー制御)を使用して,応答用のキュー(受信用共用キュー)があるデータベースを参照して,応答のバイナリデータを取り出します。正常な応答電文の伝わり方については,マニュアル「サービスプラットフォーム 解説」の「2.5.3 同期のサービス部品を呼び出す場合の応答電文の扱い」を参照してください。
詳細については,マニュアル「TP1/Server Base Enterprise Option プログラム作成の手引」を参照してください。
応答のバイナリデータの形式を次の表に示します。
項番 |
項目 |
長さ(バイト) |
データ型※ |
説明 |
---|---|---|---|---|
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コードでエンコードされているバイナリデータが設定されます。 |
(2) JMSの場合
受信用共用キューから応答(JMSメッセージ)を取り出すには,MDBで実装する方法とSessionBeanで実装する方法があります。MDBおよびSessionBeanの実装については,マニュアル「Reliable Messaging」を参照してください。
なお,取り出した応答(JMSメッセージ)のペイロードに設定されたバイナリデータの形式については,表9-18を参照してください。