我正在實作一個 GET 請求,它需要與 ERP 互動并提取員工詳細資訊。
現在與 ERP 的互動不使用 HTTP,因此它不回傳狀態代碼,例如 400 等 XML 有效負載回應中回傳任何錯誤(如果存在)。例子:
<?xml version="1.0" encoding="utf8" ?>
<Output>
<Error>
<Status>0</Status>
<Details>No errors</Details>
</Error>
</Output>
所以我以這種方式實作了它 - 在呼叫 ERP 并收到回應后,我檢查回應是否包含任何錯誤(errorCode = 0 表示錯誤,否則一切都很好)
如果不是錯誤正常處理,如果出現錯誤,我只需將 http 狀態設定為 400 并使用錯誤詳細資訊填充回應。
問題:在錯誤流程中,我沒有拋出任何例外/錯誤,只是回傳帶有 400 回應狀態和錯誤詳細資訊的回應。
我的直覺是在這種情況下不需要引發錯誤( throw )然后再次在錯誤處理程式中捕獲它。我認為在這種情況下沒有必要,但正在尋找一些反饋?
注意 - 下面的例外處理程式旨在捕獲錯誤,例如 ERP 已關閉/不可用等
注意-因為這更多是一個設計/方法問題,我只是粘貼流程的螢屏列印而不是實際代碼
請分享您的反饋和建議
uj5u.com熱心網友回復:
如果這是您的問題,則無需使用 Mule 錯誤處理來回傳 HTTP 狀態。
請注意,Mule 4 使用錯誤處理,而不是例外處理,盡管它看起來很相似。
不相關,奇怪的是,您使用 HTTP 狀態 400 表示服務器錯誤,而 400 表示錯誤的客戶端請求。您可能希望使用更合適的狀態。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/468965.html
上一篇:簡單矢量圖形 影片DSL
下一篇:從模型回傳帶小數的價格的最佳方法
