-2

我们有一个使用 OBIEE 网络服务来获取数据的应用程序。我们的应用程序开发团队位于两个不同的地点,即 SanJose(CA) 和 Bangalore(Ind)。当我们在 SanJose 设置本地环境时,一切正常,完全没有问题。

但是当我们尝试在班加罗尔设置本地开发环境时,我们得到了读取超时异常。我们认为这可能是防火墙限制问题,但没有这样的限制(与网络团队确认)

我们使用的是Tomcat6.0和java6。解决这个问题对我们来说是非常紧迫的,以赶上我们的最后期限。请帮助向我们展示一种我们可以遵循并解决此问题的方法。

异常堆栈跟踪如下:

[INFO] Unable to sendViaPost to url[http://<SOME-OBIEE-SERVER>/analytics/saw.dll?SoapImpl=webCatalogService]
java.net.SocketTimeoutException: Read timed out
    at java.net.SocketInputStream.socketRead0(Native Method)
    at java.net.SocketInputStream.read(Unknown Source)
    at java.io.BufferedInputStream.fill(Unknown Source)
    at java.io.BufferedInputStream.read(Unknown Source)
    at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
    at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
4

1 回答 1

1

“读取超时”意味着客户端连接到远程服务器并发送了请求。但是客户端在超时到期之前没有收到来自服务器的响应。Axis2 客户端使用 30 秒的默认超时,但可以更改超时。

运行 Web 服务的人员应该能够判断他们是否可以看到客户端正在连接,以及该服务需要多长时间才能响应客户端的请求。如果 Web 服务响应缓慢,那么您可能只需要增加客户端超时时间。或者,如果服务及时响应请求,那么我会寻找类似防火墙的东西来阻止返回流量。快速测试可能是通过 Web 浏览器访问 Web 服务 URL,或者向服务发送故意错误的请求并查看是否返回错误。

于 2012-02-21T21:30:02.710 回答