現在、Apigee と Apigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する。
ExecutionError
エラーコード
steps.javacallout.ExecutionError
エラー レスポンスの本文
{
"fault": {
"faultstring": "Execution returned an error result",
"detail": {
"errorcode": "flow.execution.ExecutionReturnedFailure"
}
}
}
原因
このエラーは、JavaCallout ポリシーの実行中に Java コードが例外を出力する、または null を返す場合に発生します。
診断
トレース セッションを開始してエラーをキャプチャし、失敗した JavaCallout ポリシーを特定します。

JavaCallout ポリシーと、使用されているリソースを確認します。上の例では、次のように、JavaCallout ポリシーで
hello.jarという名前のリソースが使用されています。<JavaCallout name="hello-java"> <ClassName>com.apigeesample.HelloJava</ClassName> <ResourceURL>java://hello.jar</ResourceURL> </JavaCallout>JavaCallout ポリシーのエラー処理の説明に沿ってソースコードを変更することで、Java 例外をキャプチャしてフロー変数に格納します。
影響を受けるリソース(JAR ファイル)をコンパイルして、更新された Java アーティファクトに置き換えます。
API プロキシを新しいリビジョンとしてデプロイし、API 呼び出しを行います。
別のトレース セッションを開始します。

JAVA_STACKTRACE変数でスタック トレースを使用できることに注意してください。スタック トレースには、実際の例外と、エラーがスローされた Java ソースファイルと行番号が表示されます。この情報を使用して、Java コードの問題を修正します。
この例では、
JavaError.javaファイルの 25 行目の ArithmeticException(ゼロ除算)が原因で JavaCallout ポリシーが失敗しました。
解決策
スローされた例外に応じて、関連する Java ソースファイルの問題を修正します。a. 上記の例では、算術エラー(ゼロ除算)が問題の原因でした。スタック トレースで示されている特定のソースファイルと行番号に移動します。

b. ゼロによる除算は実行できないため、問題のあるコード行が含まれている else ブロック全体を削除してください。
変更済みのファイルを含めて関連する JAR ファイルを、以前に存在していた適切なレベル(API プロキシ、環境、または組織)に置き換えます。
API プロキシを保存して新しいリビジョンとしてデプロイします。