您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档。 信息
问题
使用开发者门户中的 SmartDocs 发出实时 API 请求时出错。
错误消息
开发者门户上出现的常见错误是“发生内部错误。请重试您的请求”。
可能的原因
如果开发者门户无法从后端(smartdocs 代理或实际端点)获取响应,则可能会发生此错误。
诊断
在浏览器中 启用“开发者工具”,然后检查“网络”标签页,找到实际错误。
下表列出了常见错误及其常见原因:
错误 |
典型原因 |
ERR_NAME_NOT_RESOLVED |
|
混合内容 |
|
500 - 内部服务器错误 |
下面我们将逐一介绍每种原因,并介绍解决相应问题的步骤。
SmartDocs 代理配置错误或网络防火墙限制
“ERR_NAME_NOT_RESOLVED”消息表示 Smartdocs 代理网址配置错误,或者由于防火墙限制,用于访问门户的网络无法调用 smartdocs 代理网址。Smartdocs 代理必须可从互联网或内部网络(适用于内部 API)访问。
分辨率
将 smartdocs 代理部署到 Edge 上的虚拟主机(主机名可通过互联网访问),确保可以从所有必需的网络访问 smartdocs 代理。
通过 HTTPS 配置的门户、通过 HTTP 的 SmartDocs 请求
“混合内容”错误表示从通过 HTTPS 加载的网页通过 HTTP 调用 smartdocs 代理。
分辨率
通过 https 公开 smartdocs 代理可以解决此问题。为此,您可以部署 Smartdocs 代理来包含一个配置为使用 TLS/SSL 的虚拟主机(通常是“安全”虚拟主机)。
SmartDocs 代理返回异常
500 - Internal Server Error 消息可能是由“smartdocs”代理的问题引起的。在这种情况下,您注意到 Smartdocs 代理会返回此错误。
诊断
使用“跟踪”工具诊断“smartdocs”代理的错误,如下所述。如需了解详情,请参阅使用跟踪工具。
- 为“VALIDATE”组织中的“smartdocs”代理启用跟踪记录,以找到返回“500 内部服务器错误”的特定政策。
- 选择跟踪记录中的特定政策以确定错误的原因。
分辨率
修正发现的错误。如果您需要帮助,请与 Apigee Edge 支持团队联系。
Edge Message Processors 无法调用已发布的 API 端点
500 - 如果属于托管 Smartdocs 代理的组织的消息处理器无法调用 API 端点,也可能会发生内部服务器错误。
诊断
使用“跟踪”工具诊断“smartdocs”代理的错误,如下所述。如需了解详情,请参阅使用跟踪工具。
- 为“VALIDATE”组织中的“smartdocs”代理启用 trace,以找到返回 500 内部服务器错误的特定政策。
- 在上面显示的示例界面跟踪记录中,可以看到 JavaScript 政策“BuildTargetAPIRequest”无法执行目标网址。
- 从 JavaScript 政策“BuildTargetAPIRequest”中获取目标网址。
- 从与“VALIDATE”组织关联的消息处理器节点直接调用该网址,如下所示:
curl -v <target URL>
- 更正观察到的任何错误。
分辨率
- 确保可以从与 VALIDATE 组织关联的消息处理器调用在开发者门户上发布的 API,并更正遇到的任何错误。
- 如果您能够直接从消息处理器执行 API 调用,那么您也应该能够通过 SmartDocs 执行 API 调用。
- 通过 SmartDocs 执行 API 调用,并检查问题是否已解决。