- 「ブローカー・アプリケーション開発」パースペクティブから、以下のリソースを作成します。
- メッセージ・セット・プロジェクト、および MAPPING3_COMPLEX_messages というメッセージ・セット。メッセージ・セットは、XML ワイヤー形式を持つ有効なネーム・スペースとします。
- COMPLEX というメッセージ定義ファイル。ターゲット・ネーム・スペース www.complex.net を持ち、接頭部は comp です。
- 以下の構造を使用してメッセージ addev1、addev1s、および addev1n を作成します。
addev1
bool (xsd:boolean) local element
bin (xsd:hexBinary) local element
dat (xsd:dateTime) local element
dec (xsd:decimal) local element
dur (xsd:duration) local element
flt (xsd:float) local element
int (xsd:int) local element
str (xsd:string) local element
addev1s
bin (xsd:hexBinary) local element
dat (xsd:dateTime) local element
dur (xsd:duration) local element
str (xsd:string) local element
addev1n
dec (xsd:decimal) local element
flt (xsd:float) local element
int (xsd:int) local element
- MAPPING3_COMPLEX_flows というメッセージ・フロー・プロジェクトを作成します。
- 以下を含む addev1 というメッセージ・フローを作成します。
MQInput ->Filter -> Mapping -> Compute
¥ ¥ --> RCD -> MQOutput
¥-> Mapping1-----------/
- Filter ノードで以下の ESQL を設定します。
IF Body.bool THEN
RETURN TRUE;
ELSE
RETURN FALSE;
END IF;
- Filter の true ターミナルに接続されている Mapping ノード (Mapping1) でマップを開き、addev1 をソース、addev1s をターゲットとして選択します。
- 以下のようにソースとターゲットを接続します。
bin --- bin
dat --- dat
dur --- dur
str --- str
- 「スプレッドシート」ペインで、「プロパティー」を展開し、以下の値を設定します。
MessageType | 'addev1s'
- ターゲットの dat を右クリックして、「If」をクリックします。
- 条件 fn:true() を $source/comp:addev1/str
= 'dat' に置換します。
- dat の値 を $source/comp:addev1/dat + xs:duration("P3M") に設定します。
- 条件を右クリックし、「Else」をクリックします。
- ターゲットの dur を右クリックして、「If」をクリックします。
- 条件 fn:true() を $source/comp:addev1/str
= 'dur' に置換します。
- dur の値を $source/comp:addev1/dur + xs:duration("P1Y") に設定します。
- 条件を右クリックし、「Else」をクリックします。
- Filter ノードの false ターミナルに接続されたノード (Mapping) のマップを開き、addev1 をソース、addev1n をターゲットとして選択します。
- 以下のようにソースとターゲットを接続します。
dec --- dec
flt --- flt
int --- int
- 「スプレッドシート」ペインで、「プロパティー」を展開し、以下の値を設定します。
MessageType | 'addev1n'
- Compute ノードの ESQL を次のように設定します。
CALL CopyMessageHeaders();
SET OutputRoot.MRM.dec = InputBody.dec * 10;
SET OutputRoot.MRM.flt = InputBody.flt * 10;
SET OutputRoot.MRM.int = InputBody.int * 10;
- ResetContentDescriptor ノードで、メッセージ・ドメインを XMLNS に設定し、「メッセージ・ドメインのリセット」チェック・ボックスを選択します。
- 適切な RFH2 ヘッダーを持つ、以下の 3 つのインスタンス・メッセージを作成します。
<comp:addev1 xmlns:comp="http://www.complex.net">
<bool>1</bool>
<bin><![CDATA[010203]]></bin>
<dat>2005-05-06T00:00:00+00:00</dat>
<dec>19.34</dec>
<dur>P2Y4M</dur>
<flt>3.245E+2</flt>
<int>2104</int>
<str>dat</str>
</comp:addev1>
<comp:addev1 xmlns:comp="http://www.complex.net">
<bool>1</bool>
<bin><![CDATA[010203]]></bin>
<dat>2005-05-06T00:00:00+00:00</dat>
<dec>19.34</dec>
<dur>P2Y4M</dur>
<flt>3.245E+2</flt>
<int>2104</int>
<str>dur</str>
</comp:addev1>
<comp:addev1 xmlns:comp="http://www.complex.net">
<bool>0</bool>
<bin><![CDATA[010203]]></bin>
<dat>2005-05-06T00:00:00+00:00</dat>
<dec>19.34</dec>
<dur>P2Y4M</dur>
<flt>3.245E+2</flt>
<int>2104</int>
<str>dat</str>
</comp:addev1>