10.5.4 バイナリデータを作成する(TP1/EE,JMS)

標準の非同期受付(DBキュー)に要求電文を送信する場合,次の表に示す形式のバイナリデータを作成する必要があります。

表10-11 バイナリデータの形式(要求電文)

項番項目長さ(バイト)データ型※1説明必須
1ヘッダタグ4charサービス部品要求のメッセージ振り分け用の先頭タグです(アイキャッチャ)。
「DBQH」を指定します。
ASCIIコードを使用してください。
2バイトオーダーフラグ1byteヘッダ内の数値データのバイトオーダー(エンディアン)識別フラグです。
ヘッダ内の数値データをバイナリにエンコードする方式を次のどちらかから指定します。
  • 0b00000001:ビッグエンディアン
  • 0b00000010:リトルエンディアン
3予備3byte予備領域です。
4長さ4intサービス部品要求のメッセージングのヘッダの長さ(項番5から項番22までの長さ)です。
バイト単位で指定してください。
5タグ8charパラメタ識別用のタグです(アイキャッチャ)。
「ServiceN」を指定します。
ASCIIコードを使用してください。
6長さ4int次のエリア(項番7)の長さです。
バイト単位で指定してください。
7サービス名任意String要求先のサービス名です。
要求先のサービス名は,開発環境で定義したアダプタまたはビジネスプロセスを指定してください。
UTF-8コードを使用してください。
8タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「ClientID」を指定します。
ASCIIコードを使用してください。
9長さ4int次のエリア(項番10)の長さです。
バイト単位で指定してください。
10クライアント相関ID任意Stringサービスリクエスタからの要求電文を一意に識別するための相関識別子です。
255文字以内の英数字,アンダーライン(_),ピリオド(.)およびハイフン(-)で指定してください。
サービスリクエスタからの要求電文と,HCSCサーバで管理している実行履歴やログ・トレースを対応づけるために使用します。したがって,HCSCサーバに送信した要求電文ごとに異なるIDを指定してください。
UTF-8コードを使用してください。
省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。
11タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「ReqFmtID」を指定します。
ASCIIコードを使用してください。
×
12長さ4int次のエリア(項番13)の長さです。
バイト単位で指定してください。
13HCSCリクエストフォーマットID任意String要求電文のフォーマット定義を一意に識別するためのIDです。
このパラメタ,長さ,およびタグのバイナリデータは組み立てないでください。
14タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「ResFmtID」を指定します。
ASCIIコードを使用してください。
×
15長さ4int次のエリア(項番16)の長さです。
バイト単位で指定してください。
16HCSCレスポンスフォーマットID任意String応答電文のフォーマット定義を一意に識別するためのIDです。
このパラメタ,長さ,およびタグのバイナリデータは組み立てないでください。
17タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「ReplyToQ」を指定します。
ASCIIコードを使用してください。
18長さ4int次のエリア(項番19)の長さです。
バイト単位で指定してください。
19応答用のキュー名任意String要求先のサービス部品が同期(WebサービスまたはSessionBean)またはビジネスプロセスの場合に,サービス部品またはビジネスプロセスからの応答を受け取るキュー名です。
要求先のサービス部品が同期か非同期かわからない場合にこの指定をすると,応答を受け取ることができます。
詳細については,「10.5.9 応答用のキューを設定する(TP1/EE,JMS)」を参照してください。
UTF-8コードを使用してください。
省略すると,NULLが設定され,応答を受け取ることができません。省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。
20タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「OperatiN」を指定します。
ASCIIコードを使用してください。
21長さ4int次のエリア(項番22)の長さです。
バイト単位で指定してください。
22サービスオペレーション名任意String要求先のサービス名に対するオペレーション名です。※2
オペレーション名は,開発環境で定義したサービス部品のオペレーション名を指定します。255バイト以内のXMLSchemaのNCName定義文字で指定してください。
要求先のサービス部品が同期のサービス部品(WebサービスまたはSessionBean)またはビジネスプロセスの場合,必ず指定してください。
UTF-8コードを使用してください。
要求先のサービス部品が非同期のサービス部品の場合,応答用のキュー名を省略できます。省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。
23タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「MessageT」を指定します。
ASCIIコードを使用してください。
24長さ4int次のエリア(項番25)の長さです。
バイト単位で指定してください。
25電文種別任意Stringユーザ電文(要求電文)の種別です。
XML電文(ペイロードがTextMessage)の場合は「XML」を,バイナリ電文(ペイロードがBytesMessage)の場合は「Binary」を指定します。
メッセージ(要求電文)がある場合,必ず指定してください。
UTF-8コードを使用してください。
要求電文がない場合,省略することができます。省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。
26タグ8byteパラメタ識別用のタグです(アイキャッチャ)。
「MgLength」を指定します。
ASCIIコードを使用してください。
27長さ4int次のエリア(項番28)の長さです。
「4」を指定してください。
28メッセージ長4intバイナリ変換したユーザ電文(要求電文)のメッセージの長さを指定します。
ユーザ電文(要求電文)がない場合,0を指定してください。
29メッセージ任意byte[]ユーザ電文(要求電文)です。※2
DBキューのヘッダ(項番1~28)の後ろに,バイナリ変換したユーザ電文(要求電文)を指定します。
なお,XML電文をバイナリに変換したメッセージの場合は,UTF-8コードでエンコードしてください。
ユーザ電文(要求電文)がない場合,省略できます。
(凡例)
○:必ず指定してください。
△:必ず指定しなければいけない場合があります。説明の内容を確認してください。
×:指定しないでください。
注※1
Javaのデータ型です。
注※2
要求先のサービス部品のプロトコルがSOAPの場合,ユーザ電文のルート要素の名称(データ変換を行う場合,データ変換後の電文のルート要素の名称)から呼び出すオペレーションを決定します。そのため,ユーザ電文のルート要素に誤った名称を指定した場合,意図しないオペレーションを呼び出してしまうので注意してください。