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 网络服务,但网络服务一次只能接受一个 balanceInquiry 请求。所以我使用拆分器将请求拆分为不同的 balanceInquiry。但如果第一个请求的状态是成功,那么我必须去第二个等等。如果其中任何一个失败,那么我需要回滚之前的所有事务。根据请求,有一个属性可以是“成功”或“失败”。

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

4

1 回答 1

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

于 2016-03-18T19:52:35.013 回答