2016-03-18 72 views
0

输入的交易流量: -与回滚策略骡子

<balanceInquiry> 
    <request> 
     <amount> 
     <amount>5.0</amount> 
     <currency/> 
     </amount> 
    </request> 
    </balanceInquiry> 
<balanceInquiry> 
    <request> 
     <amount> 
     <amount>10.0</amount> 
     <currency/> 
     </amount> 
    </request> 
    </balanceInquiry> 
<balanceInquiry> 
    <request> 
     <amount> 
     <amount>57.0</amount> 
     <currency/> 
     </amount> 
    </request> 
    </balanceInquiry> 

我试图击中使用上述输入一个SOAP Web服务,但web服务一次只能接受一个balanceInquiry请求。所以我使用splitter将请求分成不同的balanceInquiry。但是,如果第一个请求的状态是良好的话,我必须去第2个等。如果其中任何一个失败,那么我需要回滚所有以前的事务。根据请求有一个属性可以是“成功”或“失败”。

所以我想知道是否有任何组件在骡子实现这一目标?请建议。

回答

0

我相信你应该看看在foreach文档。 https://docs.mulesoft.com/mule-user-guide/v/3.7/foreach和异常处理策略; https://docs.mulesoft.com/mule-user-guide/v/3.7/error-handling

如果3个查询在相同的消息,您使用的是默认的例外策略,它将回滚之前的交易......假设你使用一个DB连接器写入数据库中的SOAP响应。

因为我不知道你希望在你的交易到底该怎么做,这里的另一个有趣的联系:https://docs.mulesoft.com/mule-user-guide/v/3.7/rollback-exception-strategy

+0

有没有办法走出来的每一个,在任何trasaction故障的情况下。我已经实现了foreach,并且我正在得到所有正确的答案。有在响应其可以是成功还是失败一个属性。如果它是成功的,我需要进行其他交易,如果它是失败的,那么我需要在那里停止并且使以前的交易无效...所以如果它失败了,是否有办法从foreach? – Himanshu