Hitachi

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


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

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

表9‒17 バイナリデータの形式(要求電文)

項番

項目

長さ(バイト)

データ型※1

説明

必須

1

ヘッダタグ

4

char

サービス部品要求のメッセージ振り分け用の先頭タグです(アイキャッチャ)。

「DBQH」を指定します。

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

2

バイトオーダーフラグ

1

byte

ヘッダ内の数値データのバイトオーダー(エンディアン)識別フラグです。

ヘッダ内の数値データをバイナリにエンコードする方式を次のどちらかから指定します。

  • 0b00000001:ビッグエンディアン

  • 0b00000010:リトルエンディアン

3

予備

3

byte

予備領域です。

4

長さ

4

int

サービス部品要求のメッセージングのヘッダの長さ(項番5から項番28までの長さ)です。

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

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文字以内の英数字,アンダーバー(_),ピリオド(.)およびハイフン(-)で指定してください。

サービスリクエスタからの要求電文と,HCSCサーバで管理している実行履歴やログおよびトレースを対応づけるために使用します。したがって,HCSCサーバに送信した要求電文ごとに異なるIDを指定してください。

UTF-8コードを使用してください。

省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。

11

タグ

8

byte

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

「ReqFmtID」を指定します。

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

×

12

長さ

4

int

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

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

13

HCSCリクエストフォーマットID

任意

String

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

このパラメタ,長さ,およびタグのバイナリデータは組み立てないでください。

14

タグ

8

byte

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

「ResFmtID」を指定します。

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

×

15

長さ

4

int

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

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

16

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

任意

String

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

このパラメタ,長さ,およびタグのバイナリデータは組み立てないでください。

17

タグ

8

byte

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

「ReplyToQ」を指定します。

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

18

長さ

4

int

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

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

19

応答用のキュー名

任意

String

要求先のサービス部品が同期(WebサービスまたはSessionBean)またはビジネスプロセスの場合に,サービス部品またはビジネスプロセスからの応答を受け取るキュー名です。

要求先のサービス部品が同期か非同期かわからない場合にこの指定をすると,応答を受け取ることができます。

詳細については,「9.6.9 応答用のキューを設定する(TP1/EE,JMS)」を参照してください。

UTF-8コードを使用してください。

省略すると,NULLが設定され,応答を受け取ることができません。省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。

20

タグ

8

byte

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

「OperatiN」を指定します。

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

21

長さ

4

int

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

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

22

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

任意

String

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

オペレーション名は,開発環境で定義したサービス部品のオペレーション名を指定します。255バイト以内のXMLSchemaのNCName定義文字で指定してください。

要求先のサービス部品が同期のサービス部品(WebサービスまたはSessionBean)またはビジネスプロセスの場合,必ず指定してください。

UTF-8コードを使用してください。

要求先のサービス部品が非同期のサービス部品の場合,応答用のキュー名を省略できます。省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。

23

タグ

8

byte

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

「MessageT」を指定します。

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

24

長さ

4

int

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

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

25

電文種別

任意

String

ユーザ電文(要求電文)の種別です。

XML電文(ペイロードがTextMessage)の場合は「XML」を,バイナリ電文(ペイロードがBytesMessage)の場合は「Binary」を指定します。

メッセージ(要求電文)がある場合,必ず指定してください。

UTF-8コードを使用してください。

要求電文がない場合,省略することができます。省略する場合,このパラメタ,長さ,およびタグの,バイナリデータを組み立てる必要はありません。

26

タグ

8

byte

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

「MgLength」を指定します。

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

27

長さ

4

int

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

「4」を指定してください。

28

メッセージ長

4

int

バイナリ変換したユーザ電文(要求電文)のメッセージの長さを指定します。

ユーザ電文(要求電文)がない場合,0を指定してください。

29

メッセージ

任意

byte[]

ユーザ電文(要求電文)です。※2

DBキューのヘッダ(項番1〜28)の後ろに,バイナリ変換したユーザ電文(要求電文)を指定します。

なお,XML電文をバイナリに変換したメッセージの場合は,UTF-8コードでエンコードしてください。

ユーザ電文(要求電文)がない場合,省略できます。

(凡例)

○:必ず指定してください。

△:必ず指定しなければいけない場合があります。説明の内容を確認してください。

×:指定しないでください。

注※1

Javaのデータ型です。

注※2

要求先のサービス部品のプロトコルがSOAPの場合,ユーザ電文のルート要素の名称(データ変換を行う場合,データ変換後の電文のルート要素の名称)から呼び出すオペレーションを決定します。そのため,ユーザ電文のルート要素に誤った名称を指定した場合,意図しないオペレーションを呼び出してしまうので注意してください。