JavaCallout 政策运行时错误问题排查
您正在查看 Apigee Edge 文档。
转到
Apigee X 文档。 信息
ExecutionError
错误代码
steps.javacallout.ExecutionError
错误响应正文
{
"fault": {
"faultstring": "Execution returned an error result",
"detail": {
"errorcode": "flow.execution.ExecutionReturnedFailure"
}
}
}
原因
如果在执行 JavaCallout 政策期间 Java 代码抛出异常或返回 null,就会发生此错误。
诊断
启动跟踪会话以捕获错误并确定出现故障的 Java 政策。
检查 JavaCallout 政策和所使用的资源。在上面的示例中,JavaCallout 政策使用名为 hello.jar
的资源,如下所示:
<JavaCallout name="hello-java">
<ClassName>com.apigeesample.HelloJava</ClassName>
<ResourceURL>java://hello.jar</ResourceURL>
</JavaCallout>
通过修改源代码,捕获 Java 异常并将其存储在流变量中,如处理 Java 标注中的错误中所述。
编译受影响资源(JAR 文件)并将其替换为更新后的 Java 制品。
将 API 代理部署为新的修订版本并进行 API 调用。
启动另一个跟踪会话。
请注意,JAVA_STACKTRACE
变量中提供了堆栈轨迹。堆栈轨迹列出了实际异常和 Java 源代码文件以及抛出异常的行号。
使用此信息可修复 Java 代码中的问题。
在此示例中,JavaCallout 政策因 JavaError.java
文件第 25 行中的 ArithmeticException(除以零)而出现故障。
解决方法
根据所抛出的异常,修复相关 Java 源代码文件中的问题。
a. 在上面显示的示例中,问题是由算术错误(除以零)导致的。转到堆栈轨迹指示的特定源代码文件和相应行号。
b. 您不能执行除以零,因此请移除包含错误代码行的整个 else 块,即可解决该问题。
在之前存在的相应级别(API 代理、环境或组织)替换包含已修改文件的相关 JAR 文件。
将 API 代理保存并部署作为新修订版本。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-09-12。
[{
"type": "thumb-down",
"id": "missingTheInformationINeed",
"label":"没有我需要的信息"
},{
"type": "thumb-down",
"id": "tooComplicatedTooManySteps",
"label":"太复杂/步骤太多"
},{
"type": "thumb-down",
"id": "outOfDate",
"label":"内容需要更新"
},{
"type": "thumb-down",
"id": "translationIssue",
"label":"翻译问题"
},{
"type": "thumb-down",
"id": "samplesCodeIssue",
"label":"示例/代码问题"
},{
"type": "thumb-down",
"id": "otherDown",
"label":"其他"
}]
[{
"type": "thumb-up",
"id": "easyToUnderstand",
"label":"易于理解"
},{
"type": "thumb-up",
"id": "solvedMyProblem",
"label":"解决了我的问题"
},{
"type": "thumb-up",
"id": "otherUp",
"label":"其他"
}]
{"lastModified": "\u6700\u540e\u66f4\u65b0\u65f6\u95f4 (UTC)\uff1a2024-09-12\u3002"}
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-09-12。"]]