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

<この項の構成>
(1) TP1/EEの場合
(2) JMSの場合

(1) TP1/EEの場合

TP1/EEのAPI(DBキュー制御)を使用して,応答用のキュー(受信用共用キュー)があるデータベースを参照して,応答のバイナリデータを取り出します。正常な応答電文の伝わり方については,マニュアル「Cosminexus サービスプラットフォーム システム構築・運用ガイド」のMDB(DBキュー)を使ったサービス呼び出しのReplyToキューに関する内容を参照してください。

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

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

表10-12 バイナリデータの形式(応答電文)

項番項目長さ(バイト)データ型説明
1ヘッダタグ4charHCSCメッセージ振り分け用の先頭タグです(アイキャッチャ)。
「DBQH」が設定されます。
ASCIIコードでエンコードされているバイナリデータが設定されます。
2バイトオーダーフラグ1byte要求時に指定したバイトオーダーフラグが設定されます。
3予備3byte予備領域です。
4長さ4intHCSCメッセージング用のヘッダの長さ(項番5から項番19までの長さ)が設定されます。
5タグ8charパラメタ識別用のタグです(アイキャッチャ)。
「ServiceN」が設定されます。
ASCIIコードでエンコードされているバイナリデータが設定されます。
6長さ4int次のエリア(項番7)の長さです。
バイト単位で設定されます。
7サービス名任意String要求時に指定したアダプタまたはビジネスプロセスが設定されます。
UTF-8コードでエンコードされているバイナリデータが設定されます。
8タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「ClientID」が設定されます。
ASCIIコードでエンコードされているバイナリデータが設定されます。
9長さ4int次のエリア(項番10)の長さです。
バイト単位で設定されます。
10クライアント相関ID任意Stringサービスリクエスタからの要求電文を一意に識別するための相関識別子です。
255文字以内の英数字,アンダーライン(_),ピリオド(.)およびハイフン(-)で設定されます。
UTF-8コードでエンコードされているバイナリデータが設定されます。
11タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「ResFmtID」を指定します。
ASCIIコードを使用してください。
12長さ4int次のエリア(項番13)の長さです。
バイト単位で指定してください。
13HCSCレスポンスフォーマットID任意String応答電文のフォーマット定義を一意に識別するためのIDです。
このパラメタ,長さ,およびタグは設定されません。
14タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「OperatiN」が設定されます。
ASCIIコードでエンコードされているバイナリデータが設定されます。
15長さ4int次のエリア(項番16)の長さです。
バイト単位で設定されます。
16サービスオペレーション名任意String要求先のサービス名に対するオペレーション名です。
255バイトのXMLschemaのNCName定義文字で設定されます。
UTF-8コードでエンコードされているバイナリデータが設定されます。
17タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「MessageT」が設定されます。
ASCIIコードでエンコードされているバイナリデータが設定されます。
18長さ4int次のエリア(項番19)の長さです。
バイト単位で設定されます。
19応答電文種別任意Stringメッセージ(応答電文)の種別です。
電文種別がXML電文の場合,「XML」が設定されます。メッセージ(応答電文)がない場合,このパラメタは省略されます。
UTF-8コードでエンコードされているバイナリデータが設定されます。
20タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「MgLength」が設定されます。
ASCIIコードでエンコードされているバイナリデータが設定されます。
21長さ4int次のエリア(項番22)の長さです。
「4」が設定されます。
22メッセージ長4intメッセージ(応答電文)の長さが設定されます。
メッセージ(応答電文)がない場合,0バイトが設定されます。
23メッセージ任意byte[]次のどちらかの情報が設定されます。
  • サービス部品からの応答電文
  • サービス部品,ビジネスプロセス,およびカスタムアダプタからのエラー情報(フォルト情報)
UTF-8コードでエンコードされているバイナリデータが設定されます。

注※ Javaのデータ型です。


(2) JMSの場合

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

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