在 ESB WSO2 中使用克隆中介时无法 return in out sequence
Unable to return in out sequence while using clone mediator in ESB WSO2
我已经从 DZONE 博客中为克隆调解器举了一个例子,但看起来我犯了一些错误,无法 return 进一步处理。
有人可以帮忙吗?
<proxy name="DSS_TrainDetailsProxy" transports="http" startOnLoad="true" trace="disable" statistics="enable">
<target inSequence="DSS_TrainDetails_IN" outSequence="DSS_TrainDetails_OUT" faultSequence="CommonFaultHandler"/>
<publishWSDL key="DSS_TrainDetails_wsdl"/>
</proxy>
<localEntry key="DSS_TrainDetails_wsdl" src="file:repository/conf/train/wsdl/TrainDetails.wsdl"/>
<sequence name="DSS_TrainDetails_IN">
<clone>
<target>
<send>
<endpoint key="DSS_TrainDetails_EPR"/>
</send>
</target>
<target>
<send>
<endpoint key="DSS_TrainDetails_EPR"/>
</send>
</target>
<target>
<send>
<endpoint key="DSS_TrainDetails_EPR"/>
</send>
</target>
</clone>
<sequence name="DSS_TrainDetails_OUT">
<aggregate>
<completeCondition>
<messageCount min="-1" max="-1"/>
</completeCondition>
<onComplete xmlns:tra="traindetails.co.nz" expression="//tra:TrainDetails">
<log level="custom" separator=",">
<property name="MessageFlow" value="======================= Sending Back the Aggregated Responses. ==============="/>
</log>
<log level="full" separator=","/>
<enrich>
<source xmlns:tra="traindetails.co.nz" clone="true" xpath="//tra:TrainDetails/tra:TrainsDetails"/>
<target type="body" action="child"/>
</enrich>
<send/>
</onComplete>
</aggregate>
</sequence>
尝试一下:在代理定义和克隆目标中删除 outSequence="DSS_TrainDetails_OUT",将 <send>
更改为 <send receive="DSS_TrainDetails_OUT">
你好只是想让你知道 Clone mediator 为我工作 :) 我已经通过下面的代码对 IN 序列进行了更改我已经从 IN 序列中删除了 "send" 关键字:
<sequence name="DSS_TrainDetails_IN">
<clone>
<target>
<endpoint key="DSS_TrainDetails_EPR"/>
</target>
<target>
<endpoint key="DSS_TrainDetails_EPR1"/>
</target>
<target>
<endpoint key="DSS_TrainDetails_EPR2"/>
</target>
</clone>
我已经从 DZONE 博客中为克隆调解器举了一个例子,但看起来我犯了一些错误,无法 return 进一步处理。
有人可以帮忙吗?
<proxy name="DSS_TrainDetailsProxy" transports="http" startOnLoad="true" trace="disable" statistics="enable">
<target inSequence="DSS_TrainDetails_IN" outSequence="DSS_TrainDetails_OUT" faultSequence="CommonFaultHandler"/>
<publishWSDL key="DSS_TrainDetails_wsdl"/>
</proxy>
<localEntry key="DSS_TrainDetails_wsdl" src="file:repository/conf/train/wsdl/TrainDetails.wsdl"/>
<sequence name="DSS_TrainDetails_IN">
<clone>
<target>
<send>
<endpoint key="DSS_TrainDetails_EPR"/>
</send>
</target>
<target>
<send>
<endpoint key="DSS_TrainDetails_EPR"/>
</send>
</target>
<target>
<send>
<endpoint key="DSS_TrainDetails_EPR"/>
</send>
</target>
</clone>
<sequence name="DSS_TrainDetails_OUT">
<aggregate>
<completeCondition>
<messageCount min="-1" max="-1"/>
</completeCondition>
<onComplete xmlns:tra="traindetails.co.nz" expression="//tra:TrainDetails">
<log level="custom" separator=",">
<property name="MessageFlow" value="======================= Sending Back the Aggregated Responses. ==============="/>
</log>
<log level="full" separator=","/>
<enrich>
<source xmlns:tra="traindetails.co.nz" clone="true" xpath="//tra:TrainDetails/tra:TrainsDetails"/>
<target type="body" action="child"/>
</enrich>
<send/>
</onComplete>
</aggregate>
</sequence>
尝试一下:在代理定义和克隆目标中删除 outSequence="DSS_TrainDetails_OUT",将 <send>
更改为 <send receive="DSS_TrainDetails_OUT">
你好只是想让你知道 Clone mediator 为我工作 :) 我已经通过下面的代码对 IN 序列进行了更改我已经从 IN 序列中删除了 "send" 关键字:
<sequence name="DSS_TrainDetails_IN">
<clone>
<target>
<endpoint key="DSS_TrainDetails_EPR"/>
</target>
<target>
<endpoint key="DSS_TrainDetails_EPR1"/>
</target>
<target>
<endpoint key="DSS_TrainDetails_EPR2"/>
</target>
</clone>