有没有办法在克隆介体中的两个wso2消息之间共享信息(WSO2 4.8.1)

时间:2016-02-29 22:56:23

标签: wso2 wso2esb

例如,克隆介体

<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需要原始消息中的信息。 我认为解决方案是克隆中两条消息之间的共享属性,但我不知道如何做到这一点。

提前致谢

1 个答案:

答案 0 :(得分:2)

  1. 使用enrich mediator保存原始邮件:

    <enrich> <source clone="true" type="body"/> target property="REQUEST_Original" type="property"/> </enrich>

  2. 调用Clone1Sequence并获取所需的响应值。

    <payloadFactory media-type="xml"> <format> <req> ........ </req> </format> <args> ..... </args> </payloadFactory> <sequence key="Clone1Sequence"/>

  3. 如果您需要调用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"/>