有没有办法在克隆调解器(WSO2 4.8.1)中的两个 wso2 消息之间共享信息
Is there a way to share info between two wso2 messages in a clone mediator (WSO2 4.8.1)
例如你是一个克隆中介
<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 需要原始消息中的信息。
我认为解决方案是在克隆中的两条消息之间共享属性,但我不知道该怎么做。
提前致谢
使用 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"/>
例如你是一个克隆中介
<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 需要原始消息中的信息。 我认为解决方案是在克隆中的两条消息之间共享属性,但我不知道该怎么做。
提前致谢
使用 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"/>