您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。 信息
问题
使用开发者门户中的 SmartDocs 发出实时 API 请求时遇到错误。
错误消息
开发者门户上常见的错误是“发生了内部错误。 请重试您的请求”。
可能的原因
如果开发者门户网站无法从后端(SmartDocs 代理或实际端点)获取响应,就可能会发生此错误。
诊断
在浏览器中 启用“开发者工具”,然后检查“网络”标签页以找出实际错误。
下表列出了常见错误及其典型原因:
|
错误 |
常见原因 |
|
ERR_NAME_NOT_RESOLVED |
|
|
混合内容 |
|
|
500 - 内部服务器错误 |
下面我们来逐一了解这些原因以及解决问题的步骤。
SmartDocs 代理配置错误或网络防火墙限制
“ERR_NAME_NOT_RESOLVED”消息表示 smartdocs 代理网址配置错误,或者由于防火墙限制,访问门户的相应网络无法调用 smartdocs 代理网址。必须能够从互联网或内部网络(对于内部 API)访问 smartdocs 代理。

分辨率
通过以下方式确保可以从所有必需的网络访问 smartdocs 代理:将 smartdocs 代理部署到 Edge 上的虚拟主机,并使用可从互联网访问的主机名。
门户网站通过 HTTPS 配置,SmartDocs 请求通过 HTTP 配置
“混合内容”错误表示,智能文档代理正通过 HTTP 从通过 HTTPS 加载的网页进行调用。

分辨率
通过 HTTPS 公开 smartdocs 代理以解决此问题。为此,您可以部署 smartdocs 代理,以包含配置为使用 TLS/SSL 的虚拟主机(通常是“安全”虚拟主机)。
SmartDocs 代理返回异常
500 - 内部服务器错误消息可能是由“smartdocs”代理出现问题引起的。在这种情况下,您会注意到 smartdocs 代理返回了此错误。
诊断
使用 Trace 工具诊断“smartdocs”代理的错误,如下所述。如需了解详情,请参阅使用 Trace 工具。
- 在“VALIDATE”组织中为“smartdocs”代理启用跟踪,以找到返回 500 内部服务器错误的特定政策。

- 选择轨迹中的特定政策,以确定错误的原因。
分辨率
修正发现的错误。如果您需要帮助,请与 Apigee Edge 支持团队联系。
Edge 消息处理器无法调用已发布的 API 端点
当托管 Smartdocs 代理的组织的 Message Processor 无法调用 API 端点时,也会发生 500 - Internal Server Error。
诊断
使用 Trace 工具诊断“smartdocs”代理的错误,如下所述。如需了解详情,请参阅使用 Trace 工具。
- 在“VALIDATE”组织中为“smartdocs”代理启用跟踪,以找到返回 500 内部服务器错误的特定政策。

- 在上面显示的示例界面轨迹中,可以看到 JavaScript 政策“BuildTargetAPIRequest”无法执行目标网址。
- 从 JavaScript 政策“BuildTargetAPIRequest”中获取目标网址。
- 直接从与“VALIDATE”组织相关联的消息处理器节点调用网址,如下所示:
curl -v <target URL>
- 更正所有发现的错误。
分辨率
- 确保在开发者门户上发布的 API 可以从与“VALIDATE”组织关联的消息处理器中调用,并更正遇到的任何错误。
- 如果您能够直接从消息处理器执行 API 调用,那么很可能也应该能够通过 SmartDocs 执行 API。
- 通过 SmartDocs 执行 API 调用,并检查问题是否已得到解决。