Web service return empty on WSO2 ESB

廉价感情. 提交于 2020-01-16 04:43:06

问题


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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!