當我使用WSO2 ESB代理讀取消息時,需要定義特定的數據類型,然後應用某個MessageBuilder(在axis2.xml中定義)。WSO2 ESB捕獲傳輸異常(MessageBuilder)
但是,當MessageBuilder失敗(即我嘗試使用XMLBuilder讀取文本文件)時,控制檯中出現異常,但未調用「faultSequence」。但是如果有任何讀取問題,我需要進行一定的錯誤處理。
我如何能趕上從代理傳輸層(MessageBuilder)異常?
當我使用WSO2 ESB代理讀取消息時,需要定義特定的數據類型,然後應用某個MessageBuilder(在axis2.xml中定義)。WSO2 ESB捕獲傳輸異常(MessageBuilder)
但是,當MessageBuilder失敗(即我嘗試使用XMLBuilder讀取文本文件)時,控制檯中出現異常,但未調用「faultSequence」。但是如果有任何讀取問題,我需要進行一定的錯誤處理。
我如何能趕上從代理傳輸層(MessageBuilder)異常?
據我所知,您的要求是捕獲傳輸層中的錯誤並處理應用程序級別的錯誤(即:中介級別)。這意味着上面的圖層。
但我認爲它違反了消息框架的分層架構。您應該在Message Builder本身捕獲異常並引發一個Axis Fault,以便底層的突觸傳輸層(在本例中爲Axis2)將處理該錯誤。如果我們看一下TCP協議棧是一種常用的做法(這將故障發送到客戶端。)
。
如果你真的想在調停階層過濾此錯誤。在Message Builder中捕獲錯誤並添加消息上下文屬性或自定義消息,並將其作爲成功消息傳遞。並在調解層面進行過濾並處理。
但這又是醜陋的。 :)
--Charith
不錯的解決方法,但其他人怎麼處理交通層的錯誤呢?我使用標準的MessageBuilder,並沒有真正考慮改變它們的來源,只是爲了傳播異常到我的突觸代理。 向客戶端發送故障通常不太可能(比如VFS/FTP問題,TCP/IP HL7問題等)。在這些情況下,我真的必須向支持團隊發送一個警報,可能是FTP不再工作...但我該怎麼做? – FiveO
是的,我做到了,但該序列尚未調用,異常由代理文件的讀期間已發生......這是我的問題...... – FiveO