Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wso2 使用仅输入web服务时出错(仅从ESB输出)_Wso2_Wso2esb - Fatal编程技术网

Wso2 使用仅输入web服务时出错(仅从ESB输出)

Wso2 使用仅输入web服务时出错(仅从ESB输出),wso2,wso2esb,Wso2,Wso2esb,我有一个带有一些纯输入操作的Web服务。在ESB中,我创建了一个代理,并将属性设置为“仅”,并将“强制”设置为“接受”。每次调用代理操作时,我都会在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.trans

我有一个带有一些纯输入操作的Web服务。在ESB中,我创建了一个代理,并将属性设置为“仅”,并将“强制”设置为“接受”。每次调用代理操作时,我都会在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$1.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
谢谢


Danny

如果OUT\u ONLY=true并且您的后端将响应发送回esb,则会发生此异常。如果OUT\u ONLY设置为true,则您从后端收到响应,则它不是if OUT\u ONLY属性的有效场景。检查此帖子[1]


1.

仅输出属性设置为通知此服务不返回响应。例如,如果您正在向消息代理发送消息。Force sc accepted标志导致ESB将HTTP accepted status响应发送回调用ESB的客户机,因为否则客户机将超时而不重新响应。因此,请确保您的后端服务不发送响应,并且ESB可以访问它。

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

我可以在堆栈跟踪中看到processResponse:您确定您的Web服务不返回任何内容吗?尝试在esb和Web服务之间使用tcpmon:也许您不能从esb调用Web服务,因此您会收到来自防火墙或某种404的响应……好的。我读过这篇文章。但是,处理只有输入消息的soap调用的正确方法是什么?服务应该返回什么,以及如何在ESB中正确处理此问题。