- 从“代理应用程序开发”透视图中,创建以下资源:
- 消息集项目和名为 MAPPING3_COMPLEX_messages 的消息集,确保消息集支持 XML 有线格式的名称空间
- 名为 COMPLEX 的消息定义文件,该文件具有带 comp 前缀的目标名称空间 www.complex.net
- 创建消息 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 终端(Mapping1)的 Mapping 节点中,打开映射并选择 addev1 作为源,addev1s 作为目标。
- 如下所示,将源联结到目标:
bin --- bin
dat --- dat
dur --- dur
str --- str
- 在电子表格窗格中,展开“属性”并设置下列值:
MessageType | 'addev1s'
- 右键单击目标 dat 并单击 If。
- 用 $source/comp:addev1/str = 'dat' 替换条件 fn:true()。
- 将 dat 的值设置为 $source/comp:addev1/dat + xs:duration("P3M")。
- 右键单击条件,然后单击 Else。
- 右键单击目标 dur 并单击 If。
- 用 $source/comp:addev1/str = 'dur' 替换条件 fn:true()。
- 将 dur 的值设置为 $source/comp:addev1/dur + xs:duration("P1Y")。
- 右键单击条件,然后单击 Else。
- 在连接到 Filter 节点(Mapping)的 false 终端的节点中,打开映射并选择 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 头创建三个实例消息:
<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>