2016-03-18 73 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