交易流程与回滚策略骡子

时间:2016-03-18 04:11:51

标签: soap mule mule-component mule-el anypoint-studio

输入: -

<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服务,但是webservice只能一次接受一个balanceInquiry请求。所以我使用拆分器将请求拆分为不同的balanceInquiry。但如果第一个请求的状态成功,那么我必须去第二个,依此类推。如果其中任何一个失败,那么我需要回滚所有以前的事务。有一个属性可以成功&#34;成功&#34;或&#34;失败&#34;取决于请求。

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

1 个答案:

答案 0 :(得分: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个查询在同一条消息中并且您正在使用默认的异常策略,它将回滚先前的事务...假设您使用数据库连接器在数据库中编写SOAP响应。

由于我不确切知道您希望在交易中做些什么,这里还有另一个有趣的链接:https://docs.mulesoft.com/mule-user-guide/v/3.7/rollback-exception-strategy