繁体   English   中英

WSO2 APi管理器响应代码0

[英]WSO2 APi Manager Response Code 0

我正在尝试按照WSO2教程在具有REST API的现有微服务项目上使用WSO2 API Manager 1.10.0。

我已经在计算机上安装了它以及应用程序的副本,并配置了AM来管理对我的资源的请求(GET,POST和DELETE),但是我总是通过Response Header获得“ Response code 0”

{
   "error": "no response from server"
}

尝试使用Advanced REST Client与我的应用程序联系时,我得到200正确的结果。

我的API使用标头中的令牌来验证通过的用户,因此我实现了未经身份验证的虚拟API,但仍然存在相同的问题。

我也在我们的测试服务器上尝试了Cloud版本,但仍然获得了相同的结果。 我在http://wso2.com/blogs/cloud/video-setting-up-custom-url-for-api-store-and-gateway/中找到了该指南,但我不知道这是否可以解决本地主机的问题。

WSO2 API Cloud中设置自定义网址将无济于事。 那是出于不同的目的。 您可以做两件事。

  1. 如果您有兴趣继续使用云版本,可以从他们那里获得帮助。 您可以发送支持请求,云团队将为您提供帮助。

  2. 您可以对本地实例进行故障排除。 这样做时,首先,尝试通过curl调用您的api,看看它是否得到响应。 有时,您的api可以正常工作,但是由于某些原因,结果可能无法到达api控制台。

如果卷曲是否正常,则可以检查日志以查看是否打印了任何错误。 还有一些问题:

  1. 您的后端服务是否通过http或https公开?
  2. 如果是https,则如果其证书不是经过CA签名的证书,则API Manager在握手期间将失败。 如果是这样,则必须将证书添加到api管理器client-truststore.jks
  3. 在云方案中,您的后端应该可以从Internet访问,并且证书故事也适用于云。

您是否要使用swagger控制台(或任何Web应用程序)访问api。 您可能会遇到此问题的原因有两个。 一种可能是浏览器中未安装证书。

如果发生这种情况,您应该在api管理器控制台中看到一些错误日志(找不到与CA相关的内容)。 为此,您可以复制后端url(swagger控制台显示用于发送请求的url)并将其粘贴到新的浏览器窗口中,然后将证书安装到浏览器。

您也可以使用Firebug之类的工具来了解该问题,然后检查请求。 (它将显示未连接AM的错误)

最后,我发现了问题:API管理器不接受纯文本响应,使用JSON响应可以解决问题。

使用其他媒体类型(例如XML或TEXT / HTML),它会报告406,以纯文本格式会返回错误0。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM