3 メッセージキューシステム との連携(バージョン 7 互
3.5 MSMQ を使ったメッセージの送受信
(1) MSMQ メッセージ受信の定義方法
MSMQメッセージ受信を実行するために,次の2種類のうちどちらかの方法で定義しま す。
• JP1/AJS2 - Viewの[ジョブネットエディタ]ウィンドウでMSMQ受信監視イベント ジョブを定義する。
• ユニット定義ファイルに必要な情報を定義し,ajsdefineコマンドで定義する。
MSMQメッセージ受信の詳細定義(またはパラメーター)には,次の項目を指定しま す。
• キューパス名,相互関係
このほか,必要に応じてメッセージラベルなどを指定します。
(2) 受信する MSMQ メッセージの格納形式
MSMQメッセージ格納ファイルの格納形式を次の表に示します。
表3-12 MSMQメッセージ格納ファイルの属性情報
上記の表に示した形式で,属性の情報が格納されます。MSMQメッセージ格納ファイル に格納される属性を次の表に示します。
表3-13 MSMQメッセージ格納ファイルに格納される属性
データ型 内容
MSGPROPID 属性名
DWORD 属性の値の長さ
BYTE[値の長さ分] 属性の値
属性名 内容
PROPID_M_VERSION 構造体のバージョン番号
PROPID_M_APPSPECIFIC アプリケーション情報
PROPID_M_ARRIVEDTIME 受信日時
PROPID_M_AUTH_LEVEL メッセージ認証オプション
PROPID_M_ENCRYPTION_ALG 暗号化アルゴリズム
PROPID_M_HASH_ALG ハッシュアルゴリズム
PROPID_M_PRIV_LEVEL プライバシーレベル
PROPID_M_SECURITY_CONTEXT 認証に使用するセキュリティ情報
PROPID_M_SENTTIME 送信
PROPID_M_TIME_TO_BE_RECEIVED 保持時間
PROPID_M_TIME_TO_REACH_QUEUE 配信制限時間
PROPID_M_ACKNOWLEDGE 管理メッセージの種類
PROPID_M_AUTHENTICATED 認証済み
PROPID_M_CLASS クラス
PROPID_M_DELIVERY 配信モード
PROPID_M_JOURNAL メッセージ送信後行き先オプション
PROPID_M_PRIORITY 優先順位
PROPID_M_TRACE 追跡
PROPID_M_CONNECTOR_TYPE コネクター型
PROPID_M_SRC_MACHINE_ID データのエンコード
PROPID_M_CORRELATIONID 相互関係
PROPID_M_MSGID メッセージID
PROPID_M_ADMIN_QUEUE_LEN 管理キューの長さ
PROPID_M_ADMIN_QUEUE 管理キュー
PROPID_M_BODY_TYPE 本文タイプ
PROPID_M_BODY_SIZE 本文サイズ
PROPID_M_BODY 本文
PROPID_M_DEST_QUEUE_LEN 送信先キューの長さ
PROPID_M_DEST_QUEUE 送信先キュー
PROPID_M_DEST_SYMM_KEY_LEN 暗号化キーの長さ
PROPID_M_DEST_SYMM_KEY 暗号化キー
PROPID_M_EXTENSION_LEN メッセージ追加情報の長さ
PROPID_M_EXTENSION メッセージ追加情報
PROPID_M_LABEL_LEN ラベルの長さ
PROPID_M_LABEL ラベル
PROPID_M_PROV_TYPE デジタルサイン暗号プロバイダータイプ
PROPID_M_PROV_NAME_LEN デジタルサイン暗号プロバイダー名の長さ
PROPID_M_PROV_NAME デジタルサイン暗号プロバイダー名
PROPID_M_RESP_QUEUE_LEN 応答キュー名の長さ
PROPID_M_RESP_QUEUE 応答キュー名
PROPID_M_SENDER_CERT_LEN 認証に使用する外部証明書バッファー長
PROPID_M_SENDER_CERT 認証に使用する外部証明書
PROPID_M_SENDERID_TYPE 送信者IDの有無
PROPID_M_SENDERID_LEN 送信者IDの長さ
PROPID_M_SENDERID 送信者ID
PROPID_M_SIGNATURE_LEN 認証に使用したデジタルサイン長
属性名 内容
(3) MSMQ メッセージ受信時の注意事項
相互関係,およびメッセージラベルを使用していない場合
メッセージキューシステム連携では,相互関係およびメッセージラベルを設定して いないメッセージは監視できません。メッセージの発行元で,相互関係またはメッ セージラベルを設定するようにしてください。
受信したメッセージ
受信したメッセージの取得後,そのメッセージは削除されます。
3.5.4 MSMQ へメッセージを送信する
JP1/AJS2のアクションとして,MSMQに送信するメッセージを指定します。
MSMQメッセージ送信パラメーターで指定した情報を基に,メッセージを作成し,メッ セージキューへ送信します。送信先のキューは,パス名かラベル名で指定します。ラベ ル名で指定した場合には,同じラベル名の複数のメッセージキューに対して送信できま す。
送信したメッセージがMSMQに受け付けられた時点で,メッセージの送信アクションは 終了します。
(1) MSMQ メッセージ送信の定義方法
MSMQメッセージ送信をJP1/AJS2のアクションとして実行できるようにするには,
MSMQメッセージ送信パラメーターを指定します。
MSMQメッセージ送信の定義方法は,次の2種類があります。
• JP1/AJS2 - Viewの[ジョブネットエディタ]ウィンドウでMSMQ送信アクション ジョブを定義する。
• ユニット定義ファイルに必要な情報を定義し,ajsdefineコマンドで定義する。
メッセージ送信パラメーターには,次の項目を指定します。
• 送信先キューパス名
• 相互関係
• 配信制限時間
• 保持時間
• 配信モード
• 優先順位
PROPID_M_SIGNATURE 認証に使用したデジタルサイン
PROPID_M_XACT_STATUS_QUEUE_LEN トランザクション状態キューフォーマット名長
PROPID_M_XACT_STATUS_QUEUE トランザクション状態キュー
属性名 内容
• ジャーナルキュー
• 配信不能メッセージキュー
このほか,必要に応じてメッセージラベルなどを指定します。
(2) 送信する MSMQ メッセージの形式
送信するMSMQメッセージに設定できる値と属性を次の表に示します。
表3-14 MSMQメッセージの送信時に設定される値
属性名 内容 設定される値
PROPID_M_APPSPECIFIC アプリケーション情報 [アプリケーション情報]に指定した,0
〜FFFFFFFFまでの16進整数値。
PROPID_M_BODY メッセージ本文 [本文ファイル名]に指定したファイルの
内容。
PROPID_M_BODY_SIZE メッセージ本文サイズ [本文ファイル名]に指定したファイルの
サイズ。
PROPID_M_BODY_TYPE メッセージ本文タイプ [本文タイプ]に指定した,0〜
FFFFFFFFまでの16進整数値。
PROPID_M_CORRELATIONI
D 相互関係 [相互関係]に指定した,20バイトまでの
文字列。
PROPID_M_DELIVERY 配信モード [配信モード]で定義した配信モード。
MQMSG_DELIVERY_EXPRESS(高速 モード)
MQMSG_DELIVERY_RECOVERABLE
(回復可能モード)
PROPID_M_JOURNAL メッセージ送信後行き
先オプション
[ログ]チェックボックスの設定内容。送 信後のメッセージを保存するかどうかを指 定する。
MQMSG_DEADLETTER(配信不能メッ セージキュー)
MQMSG_JOURNAL(ジャーナル キュー)
MQMSG_JOURNAL_NON(チェックな し)
PROPID_M_LABEL メッセージラベル [メッセージラベル]に指定したラベル名。
250文字までのユニコードキャラクター
(終端のNULL文字を含む)。
PROPID_M_PRIORITY 優先順位 [優先順位]に指定した,0〜7までの整
数値。
PROPID_M_TIME_TO_BE_R
ECEIVED 保持時間 [保持時間]に指定した,10進数整数。
PROPID_M_TIME_TO_REAC
H_QUEUE 配信制限時間 [配信制限時間]に指定した,10進数整
数。