Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編
Message Queueアダプタの定義方法について説明します。
Message Queueアダプタでは,要求電文と応答電文の2種類の電文があります。それぞれの内容について説明します。
電文フォーマット作成手順の詳細は,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「4. 電文フォーマットの作成」を参照してください。
Message Queueアダプタの要求電文・応答電文には,XML形式またはバイナリ形式メッセージが指定できます。
XML形式のメッセージを送信する場合はXML形式電文,バイナリメッセージを送信する場合はバイナリ形式電文だけを指定できます。また,XML形式メッセージを受信する場合はXML形式電文,バイナリメッセージを受信する場合はバイナリ形式電文だけを指定できます。
Message Queueアダプタの呼び出し元から,送信キューへのメッセージ送信および受信キューからのメッセージ受信の実行を要求するための電文を要求電文といいます。
要求電文として送信する情報を説明します。
表3-37 キュー操作情報
情報 | 説明 |
---|---|
送信キュー特定情報,受信キュー特定情報 | アクセスする送信キューまたは受信キューを指定します。アプリケーション統合属性ファイルの<resource-env-ref>タグ内にある<resource-env-ref-name>タグで指定したresource-env-refの名称を指定します。 |
メッセージ相関識別子 | メッセージ受信要求またはブラウズ・メッセージ受信要求時,メッセージ相関識別子と一致するメッセージを受信する場合に指定します。指定値は24バイト以内でメッセージ送信応答時に設定されるメッセージ相関識別子を指定します。メッセージ相関識別子のフォーマットについては,マニュアル「サービスプラットフォーム 解説」の「2.10.2 Message Queueアダプタを使ったメッセージキューへのアクセス」のメッセージ相関識別子の生成方法に関する説明を参照してください。 |
要求電文の内容は,送信キュー特定情報および受信キュー特定情報の有無やメッセージ相関識別子の指定有無および送信メッセージ形式(バイナリ形式またはXML形式)のうち,必要な情報だけを電文に記述します。
●メッセージ送信要求の場合
XML形式で送信キュー特定情報を指定する場合の要求電文形式を次に示します。
表3-38 XML形式の送信要求電文形式(送信先キュー特定情報指定あり)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
ルート要素 | SendRequest | − | ○ |
ヘッダ情報 | mqheader | − | ○ |
送信キュー特定情報 | sndresname | 送信キュー特定情報※ | ○ |
送信メッセージ | userdata | ユーザ任意 | ○ |
XML形式で送信キュー特定情報を指定しない場合の要求電文形式を次に示します。
表3-39 XML形式の送信要求電文形式(送信先キュー特定情報指定なし)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
ルート要素 | SendRequest | − | ○ |
ヘッダ情報 | mqheader | − | ○ |
送信メッセージ | userdata | ユーザ任意 | ○ |
バイナリ形式で送信キュー特定情報を指定する場合について説明します。
バイナリメッセージを送信する場合は,要求電文がバイナリ形式になります。バイナリ形式の要求電文の構造を次に示します。
図3-17 バイナリ形式の送信要求電文の構造
電文の全体長は次の関係式が成り立つ必要があります。
LL ≧ 10 + Ln
バイナリメッセージを送信する場合に,要求電文に必要な情報を次に示します。
表3-40 バイナリ形式の送信要求電文形式(送信先キュー特定情報指定あり)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
送信キュー特定情報長 | 送信キュー特定情報のバイト長を10進数文字列で指定 | 10バイト | ○ |
送信キュー特定情報 | 送信キュー特定情報(文字列) | 任意 | ○ |
送信メッセージ | ユーザ任意 | 任意 | ○ |
バイナリ形式で送信キュー特定情報を指定しない場合の要求電文形式を次に示します。
表3-41 バイナリ形式の送信要求電文形式(送信先キュー特定情報指定なし)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
送信メッセージ | ユーザ任意 | 任意 | ○ |
●メッセージ受信要求の場合
バイナリ形式のメッセージ受信要求は指定できません。
XML形式のメッセージ受信要求電文形式を次に示します。
表3-42 XML形式のメッセージ受信要求電文形式
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
ルート要素 | RecvRequest | − | ○ |
ヘッダ情報 | mqheader | − | ○ |
受信キュー特定情報 | rcvresname | 受信キュー特定情報※1 | × |
メッセージ相関識別子 | correlationid | 受信メッセージの相関識別子※2 | × |
●ブラウズ・メッセージ受信要求の場合
バイナリ形式のブラウズ・メッセージ受信要求は指定できません。
XML形式のブラウズ・メッセージ受信要求電文形式を次に示します。
表3-43 XML形式のブラウズ・メッセージ受信要求電文形式
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
ルート要素 | BrowseRequest | − | ○ |
ヘッダ情報 | mqheader | − | ○ |
受信キュー特定情報 | rcvresname | 受信キュー特定情報※1 | × |
メッセージ相関識別子 | correlationid | 受信メッセージの相関識別子※2 | × |
XML形式の送信キュー特定情報および受信キュー特定情報を指定する場合の要求電文形式を次に示します。
表3-44 XML形式のメッセージ送受信要求電文形式(送受信キュー特定情報指定あり)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
ルート要素 | SndRcvRequest | − | ○ |
ヘッダ情報 | mqheader | − | ○ |
送信キュー特定情報 | sndresname | 送信キュー特定情報※ | ○ |
受信キュー特定情報 | rcvresname | 受信キュー特定情報※ | ○ |
送信メッセージ | userdata | 任意 | ○ |
XML形式の送信キュー特定情報および受信キュー特定情報を指定しない場合の要求電文形式を次に示します。
表3-45 XML形式のメッセージ送受信要求電文形式(送受信キュー特定情報指定なし)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
ルート要素 | SndRcvRequest | − | ○ |
ヘッダ情報 | mqheader | − | ○ |
送信メッセージ | userdata | 任意 | ○ |
バイナリ形式の送信キュー/受信キュー特定情報を指定する場合について説明します。
バイナリメッセージを送受信する場合は,要求電文がバイナリ形式になります。バイナリ形式の要求電文の構造を次に示します。
図3-18 バイナリ形式の送受信要求電文の構造
電文の全体長は次のような関係式が成り立つ必要があります。
LL ≧ 10 + Ln + 10 + Lo
バイナリメッセージを送受信する場合に,要求電文に必要な情報を次に示します。
表3-46 バイナリ形式の送信要求電文形式(送信先キュー/受信キュー特定情報指定あり)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
送信キュー特定情報長 | 送信キュー特定情報のバイト長を10進数文字列で指定 | 10バイト | ○ |
送信キュー特定情報 | 送信キュー特定情報(文字列) | 任意 | ○ |
受信キュー特定情報長 | 受信キュー特定情報のバイト長を10進数文字列で指定 | 10バイト | ○ |
受信キュー特定情報 | 受信キュー特定情報(文字列) | 任意 | ○ |
送信メッセージ | ユーザ任意 | 任意 | ○ |
バイナリ形式の送信キュー/受信キュー特定情報を指定しない場合の要求電文形式を次に示します。
表3-47 バイナリ形式の送信要求電文形式(送信先キュー/受信キュー特定情報指定なし)
情報 | 電文内のタグ名 | 指定値 | 必須 |
---|---|---|---|
送信メッセージ | ユーザ任意 | 任意 | ○ |
Message Queueアダプタの呼び出し元へ返却する電文を応答電文といいます。応答電文として返される情報を説明します。
応答電文の内容は,受信メッセージ形式(バイナリ形式またはXML形式)によって異なります。
なお,バイナリ形式のメッセージ送信応答は指定できません。
XML形式の送信応答電文形式を次に示します。
●メッセージ送信要求の応答電文の場合
XML形式の送信応答電文形式を次に示します。
表3-48 XML形式の送信応答電文形式
情報 | 電文内のタグ名 | 返却値 |
---|---|---|
ルート要素 | SendResponse | − |
メッセージ送信結果 | status | OK |
メッセージ相関識別子 | correlationid | メッセージ相関識別子※ |
●メッセージ受信要求の応答電文の場合
XML形式のメッセージ受信応答電文形式を次に示します。
表3-49 XML形式のメッセージ受信応答電文形式
情報 | 電文内のタグ名 | 返却値 |
---|---|---|
受信メッセージ | ユーザ任意 | ユーザ任意 |
バイナリ形式のメッセージ受信応答電文形式を次に示します。
表3-50 バイナリ形式のメッセージ受信応答電文形式
情報 | 電文内のタグ名 |
---|---|
受信メッセージ | ユーザ任意 |
●ブラウズ・メッセージ受信要求の応答電文の場合
XML形式のブラウズ・メッセージ受信応答電文形式を次に示します。
表3-51 XML形式のブラウズ・メッセージ受信応答電文形式
情報 | 電文内のタグ名 | 返却値 |
---|---|---|
受信メッセージ | ユーザ任意 | ユーザ任意 |
バイナリ形式のブラウズ・メッセージ受信応答電文形式を次に示します。
表3-52 バイナリ形式のブラウズ・メッセージ受信応答電文形式
情報 | 電文内のタグ名 |
---|---|
受信メッセージ | ユーザ任意 |
●メッセージ送受信要求の応答電文
XML形式のメッセージ送受信応答電文形式を次に示します。
表3-53 XML形式のメッセージ送受信応答電文形式
情報 | 電文内のタグ名 | 返却値 |
---|---|---|
受信メッセージ | ユーザ任意 | ユーザ任意 |
バイナリ形式のメッセージ送受信応答電文形式を次に示します。
表3-54 バイナリ形式のメッセージ送受信応答電文形式
情報 | 電文内のタグ名 |
---|---|
受信メッセージ | ユーザ任意 |
各電文フォーマットのうち,サービス部品項目に設定する電文フォーマットがMessage Queueアダプタの電文フォーマットです。Message Queueアダプタの電文フォーマットの作成方法を説明します。
XMLフォーマット定義テンプレートファイルとカスタマイズの説明を次に示します。
図3-19 メッセージ送信要求電文用テンプレートファイル(adpmq_snd_request.xsd)
表3-55 メッセージ送信要求電文用テンプレートファイルの内容
行数 | 説明 |
---|---|
4行目 | このテンプレートファイルの名前空間宣言を表します。ユーザは6行目に指定したtargetNamespace属性の値に任意の接頭辞を宣言します。 |
6行目 | このテンプレートファイルの対象名前空間を表します。ユーザはtargetNamespace属性の値に一意となる対象名前空間を指定します。 |
8行目 | 25行目でユーザデータ用のXMLスキーマ情報をインポートする場合,5行目にインポートするスキーマのターゲットネームスペースを,8行目にインポートするスキーマのインポート文を記述します。 |
10〜16行目 | SendRequest要素宣言を表します。要求電文のルート要素となる。mqheader要素とuserdata要素を持ちます。ユーザはmqheader要素とuserdata要素の接頭辞として4行目で宣言した接頭辞を記述します。 |
18〜22行目 | mqheader要素宣言を表します。 |
24行目 | userdata要素宣言を表します。 |
25行目 | ユーザデータ用のXMLスキーマ情報を記述します。
|
図3-20 メッセージ送受信要求電文用フォーマット定義テンプレートファイル(adpmq_sndrcv_request.xsd)
表3-56 メッセージ送受信要求電文用テンプレートファイルの内容
行数 | 説明 |
---|---|
4行目 | このテンプレートファイルの名前空間宣言を表します。ユーザは6行目に指定したtargetNamespace属性の値に任意の接頭辞を宣言します。 |
6行目 | このテンプレートファイルの対象名前空間を表します。ユーザはtargetNamespace属性の値に一意となる対象名前空間を指定します。 |
8行目 | 26行目でユーザデータ用のXMLスキーマ情報をインポートする場合,5行目にインポートするスキーマのターゲットネームスペースを,8行目にインポートするスキーマのインポート文を記述します。 |
10〜16行目 | SndRcvRequest要素宣言を表します。要求電文のルート要素となるmqheader要素とuserdata要素を持ちます。ユーザはmqheader要素とuserdata要素の接頭辞として4行目で宣言した接頭辞を記述します。 |
18〜23行目 | mqheader要素宣言を表します。 |
21行目 | 受信キュー特定情報の指定要素を表します。この指定個所がメッセージ送信要求用テンプレートファイルと異なります。 |
25行目 | userdata要素宣言を表します。 |
26行目 | ユーザデータ用のXMLスキーマ情報を記述します。
|
データ変換(マッピング)定義画面で,変換元の電文フォーマット定義ファイルおよび変換先の電文フォーマット定義ファイルを設定して,データ変換を定義します。
データ変換の定義方法については,マニュアル「サービスプラットフォーム 開発ガイド 基本開発編」の「6. データ変換の定義」を参照してください。
Message Queueアダプタを定義する場合の手順を次に示します。設定内容の詳細は,「3.3.17(9) Message Queueアダプタの場合」を参照してください。
Message Queueアダプタの環境定義に必要な情報は,XML形式のMessage Queueアダプタ環境定義ファイルに定義します。
Message Queueアダプタ環境定義ファイルの編集手順を示します。
Message Queueアダプタの通信構成定義に必要な情報は,XML形式のMessage Queueアダプタ通信構成定義ファイルに定義します。
Message Queueアダプタ通信構成定義ファイルの編集手順を示します。
アプリケーション統合属性ファイルの編集方法について説明します。
アプリケーション統合属性ファイルの編集手順を示します。
アプリケーション統合属性ファイルの内容を次に示します。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hitachi-application-all-property PUBLIC '-//Hitachi, Ltd.//DTD Application All Property 7.6//EN' 'http://localhost/hitachi-application-all-property_7_6.dtd'> <!-- All Rights Reserved. Copyright (C) 2008, Hitachi, Ltd. --> <hitachi-application-all-property> <hitachi-application-property> <lookup-name>CSCMQ</lookup-name> <security-prop> <security-method>no_security_for_methods_without_roles</security-method> </security-prop> <managed-by-ctm>false</managed-by-ctm> </hitachi-application-property> <ejb-jar> <hitachi-ejb-jar-property> <display-name>CSCMsgServiceAdapter</display-name> </hitachi-ejb-jar-property> <hitachi-session-bean-property> <display-name>CSCMsgServiceAdapterEJB</display-name> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> <resource-ref> <res-ref-name>jms/リソースアダプタ特定情報</res-ref-name> <res-type>javax.jms.QueueConnectionFactory</res-type> <res-auth>Container</res-auth> <res-sharing-scope>Unshareable</res-sharing-scope> <linked-to>リソースアダプタ表示名</linked-to> </resource-ref> <resource-env-ref> <resource-env-ref-name>送信キュー特定情報または受信キュー特定情報</resource-env-ref-name> <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type> <linked-adminobject> <resourceadapter-name>リソースアダプタ表示名</resourceadapter-name> <adminobject-name>管理対象オブジェクト名</adminobject-name> </linked-adminobject> </resource-env-ref> <container-transaction> <description></description> <method> <description></description> <method-intf></method-intf> <method-name>*</method-name> </method> <trans-attribute>Required</trans-attribute> </container-transaction> <session-runtime> <lookup-name>CSCMsgServiceAdapterEJB</lookup-name> <optional-name></optional-name> <maximum-sessions>0</maximum-sessions> <stateless> <pooled-instance> <minimum>インスタンス最小数</minimum> <maximum>インスタンス最大数</maximum> </pooled-instance> </stateless> </session-runtime> </hitachi-session-bean-property> </ejb-jar> </hitachi-application-all-property> |
定義の設定値について説明します。
アプリケーション統合属性ファイルの詳細については,次の個所を参照してください。
Message Queueアダプタの場合,Message Queueアダプタ実行環境プロパティファイルを作成する必要があります。
Message Queueアダプタ実行環境プロパティファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「Message Queueアダプタ実行環境プロパティファイル」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.