WSO2 APi Manager响应代码0

时间:2016-07-21 14:38:34

标签: wso2 wso2-am api-manager

我尝试在WSO2教程之后使用REST API在现有的微服务项目中使用WSO2 API Manager 1.10.0。

我已将它安装在我的计算机上以及我的应用程序的副本上,并将AM配置为管理我的资源请求(GET,POST和DELETE),但我总是获得一个"响应代码0"使用响应标头

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

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

我的API在标头内部使用一个令牌来验证传递的用户,因此我实现了一个没有身份验证的虚拟API,但我仍然遇到同样的问题。

我已经尝试使用我们的测试服务器的云版本,但仍然获得相同的结果。 我找到了这个指南http://wso2.com/blogs/cloud/video-setting-up-custom-url-for-api-store-and-gateway/,但我不知道这是否可以解决localhost中的问题。

3 个答案:

答案 0 :(得分:1)

WSO2 API Cloud中设置自定义网址不会有帮助。那是出于不同的目的。你可以做两件事。

  1. 如果您对继续使用云版本感兴趣,可以向他们寻求帮助。您可以发送支持请求,云团队也会提供帮助。

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

  3. 如果卷曲效果正常,您可以查看日志以查看是否有任何错误。还有一些问题:

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

答案 1 :(得分:1)

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

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

您也可以使用像firebug这样的工具来查看问题并查看请求。 (它将显示未连接AM的错误)

答案 2 :(得分:1)

最后我发现了这个问题:API Manager不接受纯文本响应,使用JSON进行响应可以解决问题。

使用其他媒体类型(如XML或TEXT / HTML)报告406,文本为plain,返回错误0。