2.6.2 Message Queue受付の電文フォーマットを作成する
Message Queue受付で使用する電文フォーマットの形式,および作成方法について説明します。
- 〈この項の構成〉
(1) 電文フォーマットの形式
Message Queue受付で扱うJMSメッセージは,JMSヘッダ,プロパティ,およびボディで構成されます。
Message Queue受付で使用する電文フォーマットの形式について説明します。
(a) ヘッダ電文の形式
Message Queue受付からビジネスプロセスに渡す要求電文のヘッダには,JMSメッセージのJMSヘッダとプロパティに指定されたデータを設定します。
Message Queue受付からビジネスプロセスに渡す要求電文フォーマット(ヘッダ変数用)を次に示します。名前空間名は「http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/mq/header」です。
タグ名 |
種別 |
出現回数 |
説明 |
||
---|---|---|---|---|---|
<mq_header> |
− |
1回 |
− |
||
<jms_header> |
string |
1回 |
JMSヘッダの内容が設定されます。 |
||
<JMSDestination> |
string |
1回 |
メッセージが設定されているキュー名が設定されます。 |
||
<JMSDeliveryMode> |
string |
1回 |
メッセージの永続性を示す値が設定されます。 |
||
<JMSMessageID> |
string |
1回 |
プロバイダによって送信される各メッセージを一意に識別するメッセージ識別子が設定されます。 |
||
<JMSTimestamp> |
string |
1回 |
メッセージの送信時刻を表す値が設定されます。(単位:ミリ秒) |
||
<JMSExpiration> |
string |
1回 |
メッセージの有効期間となる時刻を表す値が設定されます。(単位:ミリ秒) |
||
<JMSRedelivered> |
string |
1回 |
メッセージが再配送中であるかどうかを示す値が設定されます。 |
||
<JMSPriority> |
string |
1回 |
メッセージのプライオリティが設定されます。 |
||
<JMSReplyTo> |
string |
1回 |
応答先のあて先が設定されます。 この情報は,Message Queue受付では使用しません。 |
||
<JMSCorrelationID> |
string |
1回 |
あるメッセージをほかのメッセージと関連づけるための相関識別子が設定されます。 |
||
<JMSType> |
string |
1回 |
メッセージが送信されるときに,アプリケーションによって提供されるメッセージタイプが設定されます。 |
||
<JMSHeaderExtension> |
string |
0回以上 |
次の値が設定されます。 属性に"name"を持ち,JMSヘッダの名称が設定されます。 値には,nameに設定されたJMSヘッダの値が設定されます。 |
||
<user_property> |
− |
1回 |
ユーザが設定したプロパティの内容が設定されます。 |
||
<property> |
string |
0回以上 |
次の値が設定されます。このタグは設定されたプロパティの個数分生成されます。 属性に"name"を持ち,プロパティの名称が設定されます。 値には,nameに設定されたプロパティの値が設定されます。 |
(b) ボディ電文の形式
要求電文のボディに格納された本文は,ボディ電文としてビジネスプロセスに渡します。
ボディ電文の種別は,JMSメッセージのインターフェースとユーザ定義受付定義の設定によって異なります。ボディ電文の電文種別を次に示します。
インターフェース名 |
ユーザ定義受付定義の設定 (要求電文フォーマット指定あり) |
|
---|---|---|
any型の指定なし |
any型の指定あり |
|
BytesMessage |
バイナリ電文 |
任意形式の電文 |
TextMessage |
XML電文 |
任意形式の電文 |
(2) 電文フォーマットの作成方法
Message Queue受付で使用する電文フォーマットの作成方法について説明します。
(a) ヘッダ電文の作成
Message Queue受付のヘッダ電文の電文フォーマットは,サービスプラットフォームが提供するXMLスキーマを編集して利用します。そのため,ヘッダ電文のXMLスキーマの作成は不要です。
サービスプラットフォームが提供する電文フォーマットのXMLスキーマは,「<サービスプラットフォームのインストールディレクトリ>\CSC\custom-reception\mq\schema」に格納されています。
サービスプラットフォームが提供するXMLスキーマの内容を次に示します。
<?xml version="1.0" encoding="UTF-8"?> <!-- All Rights Reserved. Copyright (C) 2014, Hitachi, Ltd. --> <xsd:schema elementFormDefault="qualified" targetNamespace="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/mq/header" xmlns:mhc="http://www.hitachi.co.jp/soft/xml/cosminexus/csc/reception/mq/header" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:element name="mq_header"> <xsd:complexType> <xsd:sequence> <xsd:element name="jms_header" maxOccurs="1" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="JMSDestination" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSDeliveryMode" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSMessageID" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSTimestamp" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSExpiration" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSRedelivered" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSPriority" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSReplyTo" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSCorrelationID" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name="JMSType" maxOccurs="1" minOccurs="0" nillable="true" type="xsd:string"/> <xsd:element name=" JMSHeaderExtension " minOccurs="0" maxOccurs="unbounded" > <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" type="xsd:string" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:element name="user_property" maxOccurs="1" minOccurs="0"> <xsd:complexType> <xsd:sequence> <xsd:element name="property" minOccurs="0" maxOccurs="unbounded" > <xsd:complexType> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" type="xsd:string" use="optional"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>
(b) ボディ電文の作成
Message Queue受付のボディ電文の電文フォーマットについては,スキーマの形式は任意です。ボディ電文の電文種別に合わせてスキーマを作成する必要があります。なお,電文種別が任意形式(any型の指定あり)の場合はスキーマの作成は不要です。