例如,克隆介体
<clone id="cloneId1" sequential="true">
<target>
<sequence>
<sequence key="Clone1Sequence"></sequence>
</sequence>
</target>
<target>
<sequence>
<sequence key="Clone2Sequence"></sequence>
</sequence>
</target>
</clone>
我必须根据Clone1Sequence结果执行Clone2Sequence,而Clone2Sequence需要原始消息中的信息。 我认为解决方案是克隆中两条消息之间的共享属性,但我不知道如何做到这一点。
提前致谢
答案 0 :(得分:2)
使用enrich mediator保存原始邮件:
<enrich>
<source clone="true" type="body"/>
target property="REQUEST_Original" type="property"/>
</enrich>
调用Clone1Sequence并获取所需的响应值。
<payloadFactory media-type="xml">
<format>
<req>
........
</req>
</format>
<args>
.....
</args>
</payloadFactory>
<sequence key="Clone1Sequence"/>
如果您需要调用Clone2Sequence,请使用该响应值进行验证。
<property description="responsevalue"
expression="//p:response/p:value"
name="responsevalue" scope="default" type="STRING"/>
<enrich>
<source clone="true" property="REQUEST_Original" type="property"/>
<target type="body"/>
</enrich>
<sequence key="Clone2Sequence"/>