您目前查看的是 Apigee 和 Apigee Hybrid 說明文件。
查看
Apigee Edge 說明文件。
ExecutionError
錯誤代碼
steps.javacallout.ExecutionError
錯誤回應主體
{
"fault": {
"faultstring": "Execution returned an error result",
"detail": {
"errorcode": "flow.execution.ExecutionReturnedFailure"
}
}
}
原因
如果 Java 程式碼在執行 JavaCallout 政策期間擲回例外狀況或傳回 null,就會發生這項錯誤。
診斷
啟動追蹤工作階段,擷取錯誤並找出失敗的 JavaCallout 政策。

檢查 JavaCallout 政策和使用的資源。在上述範例中,JavaCallout 政策會使用名為
hello.jar的資源,如下所示:<JavaCallout name="hello-java"> <ClassName>com.apigeesample.HelloJava</ClassName> <ResourceURL>java://hello.jar</ResourceURL> </JavaCallout>如要擷取 Java 例外狀況並儲存在流程變數中,請修改原始碼,詳情請參閱「在 JavaCallout 政策中處理錯誤」。
編譯受影響的資源 (JAR 檔案),並以更新後的 Java 構件取代。
將 API Proxy 部署為新的修訂版本,然後發出 API 呼叫。
啟動另一個追蹤記錄工作階段。

請注意,堆疊追蹤記錄會顯示在
JAVA_STACKTRACE變數中。堆疊追蹤會列出實際例外狀況,以及擲回錯誤的 Java 來源檔案和行號。請參考這項資訊修正 Java 程式碼中的問題。
在本例中,
JavaError.java檔案第 25 行發生 ArithmeticException (除以零),導致 JavaCallout 政策失敗。
解析度
視擲回的例外狀況而定,修正相關 Java 來源檔案中的問題。 a. 在上述範例中,問題是由算術錯誤 (除以零) 所造成。前往堆疊追蹤記錄中指出的特定來源檔案和行號。

b. 由於您無法執行除以零的運算,請移除包含錯誤程式碼行的完整 else 區塊,以解決問題。
在適當層級 (API 代理程式、環境或機構),將包含修改後檔案的相關 JAR 檔案替換為先前存在的檔案。
將 API Proxy 另存為新的修訂版本並部署。