使用版本4.0.3,我目前有一個IN和OUT序列參與一個JMS-to-HTTP代理,它定義了一個錯誤處理程序,如果有異常,它將成功回滾JMS本地事務,但是錯誤不是在響應中返回一個SOAPFault(僅來自ClientHandler的WARN消息)的情況下拋出,因此我失去了原始的JMS消息(它已提交)。我應該注意的是,如果我解析OUT序列中的響應並在那裏發現故障,執行回滾將不起作用,因爲到達OUT序列時,JMS事務將被提交。WSO2 ESB:如何在響應中的SOAP錯誤時執行JMS回滾?
我發現下面的「解決固定」吉拉票WSO2 ESB的下一個版本,其可能似乎解決我的問題,但沒有等待這個版本得到這個工作的奢侈品: https://wso2.org/jira/browse/ESBJAVA-906
我的問題是,是否有任何解決方法可用,我可以在4.0.3中實現?有沒有辦法阻止線程執行提交,直到我可以確定結果等?如果沒有,您是否可以引用新版本的源代碼,以便我可以根據Jira故障單中實施的修復程序將自己的必要故障提供給突觸ClientHandler(或類似程序)?
這是我收到的警告(即我需要的是一個錯誤),還有一些額外的調試信息一起:
TID: [] [WSO2 ESB] [2012-04-18 17:18:23,786] INFO {org.apache.synapse.core.axis2.TimeoutHandler} - This engine will expire all callbacks after : 86400 seconds, irrespective of the timeout action, after the specified or optional timeout {org.apache.synapse.core.axis2.TimeoutHandler} TID: [] [WSO2 ESB] [2012-04-18 17:18:23,790] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - Callback added. Total callbacks waiting for : 1 {org.apache.synapse.core.axis2.SynapseCallbackReceiver} TID: [] [WSO2 ESB] [2012-04-18 17:18:24,006] WARN {org.apache.synapse.transport.nhttp.ClientHandler} - Received an internal server error : Internal Server Error For : 127.0.0.1:8080 For Request : Axis2Request [Message ID : urn:uuid:6322ced4-801f-40fe-a3a7-bb4019b02cdb] [Status Completed : true] [Status SendingCompleted : true] {org.apache.synapse.transport.nhttp.ClientHandler} TID: [] [WSO2 ESB] [2012-04-18 17:18:24,015] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - Callback removed for request message id : urn:uuid:6322ced4-801f-40fe-a3a7-bb4019b02cdb. Pending callbacks count : 0 {org.apache.synapse.core.axis2.SynapseCallbackReceiver} TID: [] [WSO2 ESB] [2012-04-18 17:18:24,016] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - Synapse received an asynchronous response message {org.apache.synapse.core.axis2.SynapseCallbackReceiver} TID: [] [WSO2 ESB] [2012-04-18 17:18:24,016] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - Received To: null {org.apache.synapse.core.axis2.SynapseCallbackReceiver} TID: [] [WSO2 ESB] [2012-04-18 17:18:24,017] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - SOAPAction: {org.apache.synapse.core.axis2.SynapseCallbackReceiver} TID: [] [WSO2 ESB] [2012-04-18 17:18:24,017] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - WSA-Action: {org.apache.synapse.core.axis2.SynapseCallbackReceiver} TID: [] [WSO2 ESB] [2012-04-18 17:18:24,021] DEBUG {org.apache.synapse.core.axis2.SynapseCallbackReceiver} - Body :<?xml version='1.0' encoding='utf-8'?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <soap:Fault> <faultcode>soap:Server</faultcode> <faultstring>org.apache.cxf.service.factory.ServiceConstructionException: Failed to create service.</faultstring> </soap:Fault> </soap:Body> </soap:Envelope>
{org.apache.synapse.core.axis2.SynapseCallbackReceiver }