WSO2 ESB:如何處理端點返回的內部錯誤 (WSO2 ESB: How to handle internal error returned by an endpoint)


問題描述

WSO2 ESB:如何處理端點返回的內部錯誤 (WSO2 ESB: How to handle internal error returned by an endpoint)

我正在使用 CALL 調解器在端點上調用 Get 方法。端點返回 500 內部服務器錯誤,如下所示。但不是控制進入故障序列,調解流程照常繼續。如何路由到故障序列?如何處理 wso2 中的內部錯誤?

[2020‑02‑14 17:51:21,175] DEBUG {org.apache.synapse.transport.http.headers} ‑ http‑incoming‑1 << HTTP/1.1 500 Internal Server Error
[2020‑02‑14 17:51:21,175] DEBUG {org.apache.synapse.transport.http.headers} ‑ http‑incoming‑1 << HTTP/1.1 500 Internal Server Error
[2020‑02‑14 17:51:21,176] DEBUG {org.apache.synapse.transport.http.headers} ‑ http‑incoming‑1 << Strict‑Transport‑Security: max‑age=15638400; includeSubDomains
[2020‑02‑14 17:51:21,176] DEBUG {org.apache.synapse.transport.http.headers} ‑ http‑incoming‑1 << Strict‑Transport‑Security: max‑age=15638400; includeSubDomains
[2020‑02‑14 17:51:21,177] DEBUG {org.apache.synapse.transport.http.headers} ‑ http‑incoming‑1 << Access‑Control‑Allow‑Methods: POST, GET
[2020‑02‑14 17:51:21,177] DEBUG {org.apache.synapse.transport.http.headers} ‑ http‑incoming‑1 << Access‑Control‑Allow‑Methods: POST, GET

參考解法

方法 1:

WSO2 ESB does not hit fault sequence when the endpoint returns 500 because, irrespective of the response code, the mediation flow should proceed. We can retrieve the status code of the response and then trigger the fault sequence. A sample insequence is given below.

<inSequence>
     <call>
        <endpoint>
           <http uri‑template="http://www.mocky.io/v2/5e465018330000520002605f"/>
        </endpoint>
     </call>
     <filter source="$axis2:HTTP_SC" regex="500">
        <then>
           <sequence key="fault"/>
        </then>
        <else/>
     </filter>
     <respond/>
  </inSequence>

(by raviArunan Sugunakumar)

參考文件

  1. WSO2 ESB: How to handle internal error returned by an endpoint (CC BY‑SA 2.5/3.0/4.0)

#wso2-enterprise-integrator #wso2-esb #wso2






相關問題

WSO2 EI 和節點 JS (WSO2 EI and NODE JS)

在我的本地計算機上重建 WSO2 存儲庫的正確順序 (The correct order to rebuild the WSO2 repositories on my local computer)

如何為 WSO2 EI 代理服務配置 HTTP 基本身份驗證 (How to Configure HTTP Basic Auth for WSO2 EI proxy service)

WSO2 EI 6.5 - 名稱或服務未知 | DefaultAddressPicker [LOCAL] [wso2.ei.domain] [3.5.4] 集成商名稱或服務未知 (WSO2 EI 6.5 - Name or service not known | DefaultAddressPicker [LOCAL] [wso2.ei.domain] [3.5.4] integrator Name or service not known)

如何更改 WSO2 中 wso2api/repository/logs 目錄下 http_access_.log 文件中的日誌模式 (How to change log pattern in http_access_.log file under the directory wso2api/repository/logs in WSO2)

WSO2 - 無法將ViaPost 發送到 url (WSO2 - Unable to sendViaPost to url)

WSO2 ESB:如何處理端點返回的內部錯誤 (WSO2 ESB: How to handle internal error returned by an endpoint)

WSO2 ESB:無法從註冊表加載數據庫連接屬性 (WSO2 ESB: Unable to load DB connection properties from registry)

添加連接器 WSO2 Enterprise Integrator (Add connectors WSO2 Enterprise Integrator)

我可以在 Enterprise Integrator 6.6.0 WSO2 中添加外部 swagger api 文檔嗎? (Can I add an external swagger api document in Enterprise Integrator 6.6.0 WSO2?)

WSO2 APIM 和 EI 是否支持 API 刪除現有租戶? (Does WSO2 APIM and EI support API to delete an existing tenant?)

WSO2 ESB 7.1.0 二進制響應被截斷為 375B (WSO2 ESB 7.1.0 Binary response is truncated to 375B)







留言討論