问题
We are using WSO2 ESB to access our services. We have developed services on Application Server and we could access them via using ESB Proxy services. However sometimes ESB returns empty values to our clients. If i call AS directly i could see the response. When ESB starts to turn empty value it is effecting all of our servises on ESB. We could not find how could we fix the problem. When we restart the ESB server everything starting to work again.
We are using WSO2 ESB 4.6.0 and WSO2 AS 5.0.2
Thanks,
Ps: I am executing this script to look at web service response. But web service response is empty. curl -d @request.xml -H "Content-Type: application/soap+xml;charset=UTF-8" "http://esbhostname.com:8280/services/Report" > response.xml
回答1:
we have noticed such an issue in passthrough transport..but it is really hard to reproduce..What we noticed is, wso2esb 4.6.0 drops POST message body sometimes..not sure what is the root cause or in which situation it happened..we will try to fix that issue soon once we are able to reproduce it.. This issuse happens with passthrough transport..If you dont really need passthrough transport, you can switch to nio tarnsport. Edit the axis2.xml transport sender/receiver for nio transport.
回答2:
Starting from ESB 4.6.0, the default transport is passthru. You could try the same scenario with NHTTP transport. Follow the steps below to use NHTTP instead of passthru.
- Open ESB_HOME/repository/conf/carbon.xml
- Under
<Axis2Config>
, you will find will find a xml tag called<ConfigurationFile
>. It currently points to${carbon.home}/repository/conf/axis2/axis2.xml
. Modify that location to this -
${carbon.home}/repository/conf/axis2/axis2_nhttp.xml
Restart the WSO2 ESB
回答3:
It is hard to say what happens based on your description... but I can suggest you to use tcpmon in between the AS and ESB... Then you can get some idea what went wrong...
Tcpmon can be found at ESB_HOME/bin/ . Route the proxy to tcpmon and from tcpmon route to AS. then based on the request and response you can get a better idea...
Thanks,
Mohan
回答4:
This kind of issue has been reported by one of our client. In that scenario, user has observed that after sending around 3 or 4 requests to the REST service from ESB, it starts to stop sending messages from ESB to the back end REST service. In this case, ESB just suspend the endpoint and stop sending requests to REST service after some time. If you can put a tcpmon between ESB and AS, you can verify that whether this is the case. Again, this also happens only with default Pass-Through Transport.
来源:https://stackoverflow.com/questions/16272045/web-service-return-empty-on-wso2-esb