【问题标题】:WSO2 API-M cannot consume API created in a tenantWSO2 API-M 不能使用在租户中创建的 API
【发布时间】:2019-07-09 20:10:58
【问题描述】:


我在使用 WSO2 API Manager 时遇到了一个问题:
我无法使用在租户中创建的 API。
场景:
我们在服务器中部署了 wso2 api manager,all in one,版本 2.6.0 在服务器中使用 Oracle Linux 7,一切正常。 我们没有使用端口偏移,也没有安装分析或身份服务器。
在没有租户的情况下创建和使用 API 工作正常
现在我们在这个服务器上创建了两个租户:abc.com 和 123.com。
在 abc.com 的管理控制台中,我将 123.com 定义为外部存储。
我们登录 API Publisher,在 租户 abc.com 并创建 API ApiTeste,我们将其发布到外部存储 123.com,没有错误。
在我们登录 API Store 后,在租户 abc.com(与创建 API 的位置相同) 中,我们订阅了 API,但是当我们尝试使用此 API 时出现错误。
有人可以帮我解决这个问题吗?
任何帮助将不胜感激,在此先感谢。
吉斯兰

EXTERNAL STORE DEFINITION(删除标签只是为了方便可视化):
店铺网址:http://myhostapis.apis.com:9763/store
ExternalAPIStore:id="123COM" type="wso2"
className="org.wso2.carbon.apimgt.impl.publishers.WSO2APIPublisher"
显示名称:123Com
端点:http://myhostapis.apis.com:9763/store
用户名:admin@123.com
密码:xxxxxxxx

按照链接 [1] 定义外部商店,但没有找到其他使用租户的案例:
[1]https://docs.wso2.com/display/AM260/Publish+to+multiple+external+API+stores

日志错误:

TID:[-1] [] [2019-06-19 08:30:46,348] 错误 {org.apache.axis2.engine.AxisEngine} - 找不到服务 用于端点参考 (EPR) {org.apache.axis2.engine.AxisEngine} org.apache.axis2.AxisFault:找不到服务 端点参考 (EPR) 在 org.apache.axis2.engine.DispatchPhase.validateTransport(DispatchPhase.java:251) 在 org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:109) 在 org.apache.axis2.engine.Phase.invoke(Phase.java:329) 在 org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261) 在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167) 在 org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:263) 在 org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) TID: [-1] [] [2019-06-19 08:30:46,350] 错误 {org.apache.synapse.transport.passthru.ClientWorker} - 故障 通过 Axis2 处理响应消息 {org.apache.synapse.transport.passthru.ClientWorker} org.apache.axis2.AxisFault:找不到服务 端点参考 (EPR) 在 org.apache.axis2.engine.DispatchPhase.validateTransport(DispatchPhase.java:251) 在 org.apache.axis2.engine.DispatchPhase.checkPostConditions(DispatchPhase.java:109) 在 org.apache.axis2.engine.Phase.invoke(Phase.java:329) 在 org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:261) 在 org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:167) 在 org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:263) 在 org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 在 java.lang.Thread.run(Thread.java:748) TID: [-1] [] [2019-06-19 08:30:54,343] 信息 {org.apache.synapse.mediators.builtin.LogMediator} - 状态 = 执行默认的“故障”序列,ERROR_CODE = 101504,ERROR_MESSAGE = 发送超时 {org.apache.synapse.mediators.builtin.LogMediator}

【问题讨论】:

  • 尽管有这个错误,我们可以看到后端错误响应。
  • TID: [-1] [] [2019-06-19 08:30:46,345] 调试 {org.apache.synapse.transport.http.headers} - http-outgoing-2
  • TID: [-1] [] [2019-06-19 08:30:46,345] 调试 {org.apache.synapse.transport.http.headers} - http-outgoing-2
  • TID: [-1] [] [2019-06-19 08:30:46,345] 调试 {org.apache.synapse.transport.http.headers} - http-outgoing-2 的服务
  • 我在新包装中尝试了上述场景,它似乎有效。根据打印的错误,似乎有超时。可能是后端没有发送响应。

标签: wso2-am


【解决方案1】:

@dushansilva,谢谢。我更新了我的 wso2 api-m 服务器,现在我可以在各自的租户中创建和使用 API。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多