使用仅输入 Web 服务时出错(OUT_ONLY 来自 ESB)

Errors using input-only web service (OUT_ONLY from ESB)

我有一个带有一些仅输入操作的网络服务。在 ESB 中,我创建了一个代理并将属性 OUT_ONLY and FORCE_SC_ACCEPTED 设置为 true。每次调用代理操作时,我都会在 wso2carbon.log:

中收到以下错误消息
TID: [0] [ESB] [2015-04-02 09:52:45,307] ERROR {org.apache.axis2.transport.base.threads.NativeWorkerPool} -  Uncaught exception {org.apache.axis2.transport.base.threads.NativeWorkerPool}
java.lang.UnsupportedOperationException: Not yet implemented
    at org.apache.axis2.description.OutOnlyAxisOperation.getMessage(OutOnlyAxisOperation.java:124)
    at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.processResponse(MultitenantMessageReceiver.java:125)
    at org.wso2.carbon.core.multitenancy.MultitenantMessageReceiver.receive(MultitenantMessageReceiver.java:81)
    at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
    at org.apache.synapse.transport.passthru.ClientWorker.run(ClientWorker.java:225)
    at org.apache.axis2.transport.base.threads.NativeWorkerPool.run(NativeWorkerPool.java:172)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

虽然一切似乎都正常,但我很担心这个消息。我究竟做错了什么。这些输入只会在生产中被频繁调用,所以我希望它们没有错误。

WSO2 ESB: 4.8.1

谢谢,

丹尼

如果 OUT_ONLY=true 并且您的后端将响应发送回 esb.if OUT_ONLY 设置为 true,则会发生此异常,您正在从后端获得响应然后它不是 if OUT_ONLY property.check this post[1]

的有效场景

1.https://mohanadarshan.wordpress.com/2013/05/05/out_only-scenario-in-proxy-service-wso2-esb/

Out-only 属性 设置为通知此服务没有 return 响应。例如,如果您要向消息代理发送消息。 Force-sc-accepted 标志导致 ESB 将 HTTP Accepted 状态响应发送回客户端(调用 ESB),否则客户端将在没有响应的情况下超时。所以请确保您的后端服务没有发送响应并且它可以被 ESB 访问。

暂时解决了这个问题:我的 ESB 运行 处于多租户模式。代理服务是在租户中创建的。我进行了全新安装并将配置放入(因此没有租户)。错误立即消失。当我删除配置并创建租户并将配置放入租户时,错误再次出现。所以这可能是一个错误。我可以尝试在租户中使用 运行 示例 253 (OneWayProxy) 进行验证。