我们正在使用WSO2 ESB来访问我们的服务。我们已经在Application Server上开发了服务,我们可以使用ESB代理服务访问它们。但是,有时ESB会向客户返回空值。如果我直接呼叫AS,我可以看到响应。当ESB开始变为空值时,它会影响ESB上的所有服务。我们无法找到解决问题的方法。当我们重新启动ESB服务器时,一切都重新开始工作。
我们正在使用WSO2 ESB 4.6.0和WSO2 AS 5.0.2
谢谢,
Ps:我正在执行此脚本来查看Web服务响应。但是Web服务响应是空的。 curl -d @ request.xml -H“Content-Type:application / soap + xml; charset = UTF-8”“http://esbhostname.com:8280/services/Report”> response.xml
答案 0 :(得分:1)
从ESB 4.6.0开始,默认传输是passthru。您可以尝试使用NHTTP传输的相同方案。按照以下步骤使用NHTTP代替passthru。
<Axis2Config>
下,您会发现会找到一个名为的xml标记
<ConfigurationFile
取代。它目前指向
${carbon.home}/repository/conf/axis2/axis2.xml
。将该位置修改为 -
${carbon.home}/repository/conf/axis2/axis2_nhttp.xml
重新启动WSO2 ESB
答案 1 :(得分:1)
我们已经注意到直通传输中存在这样的问题。但它很难再现......我们注意到的是,wso2esb 4.6.0有时会丢失POST消息体。不确定根本原因是什么或在哪种情况下它发生了......一旦我们能够重现它,我们会尽快解决这个问题。 这个问题发生在passthrough transport ..如果你真的不需要passthrough transport,你可以切换到nio tarnsport。编辑用于nio传输的axis2.xml传输发送方/接收方。
答案 2 :(得分:0)
根据你的描述很难说会发生什么......但是我可以建议你在AS和ESB之间使用tcpmon ......然后你就可以知道出了什么问题......
可以在ESB_HOME / bin /找到Tcpmon。将代理路由到tcpmon,从tcpmon路由到AS。然后根据请求和响应,您可以获得更好的想法...
谢谢,
莫汉答案 3 :(得分:0)
我们的一位客户报告了这类问题。在该场景中,用户观察到在从ESB向REST服务发送大约3或4个请求之后,它开始停止从ESB向后端REST服务发送消息。在这种情况下,ESB只是暂停端点并在一段时间后停止向REST服务发送请求。如果您可以在ESB和AS之间放置tcpmon,则可以验证是否是这种情况。同样,这也仅在默认的传递传输时发生。