Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 受付・アダプタ定義編

[目次][用語][索引][前へ][次へ]

2.6.2 Message Queue受付の電文フォーマットを作成する

Message Queue受付で使用する電文フォーマットの形式,および作成方法について説明します。

<この項の構成>
(1) 電文フォーマットの形式
(2) 電文フォーマットの作成方法

(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」です。

表2-21 Message Queue受付のヘッダ電文の要求電文フォーマット

タグ名 種別 出現回数 説明
<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メッセージのインターフェースとユーザ定義受付定義の設定によって異なります。ボディ電文の電文種別を次に示します。

表2-22 ボディ電文の電文種別

インターフェース名 ユーザ定義受付定義の設定
(要求電文フォーマット指定あり)
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型の指定あり)の場合はスキーマの作成は不要です。