1

外部プロバイダーの Axis2 Web サービスを使用する Web アプリケーション (Tomcat 内) を使用しています。プロバイダーの WSDL に従って Web サービス クライアントのコードを生成しました。

コードは、少なくとも 6 か月間は正常に機能していました。6 日前に動作しなくなり、SocketTimeoutException が発生しました。テスト サーバーは少なくとも 1 か月は触れられていなかったので、サーバーの Java バイナリまたは設定への変更を除外できます。

これが私のスタックトレースのジューシーな部分です:

[2012-12-12 13:33:15.718 MEZ]: org.apache.axis2.AxisFault: Read timed out
[2012-12-12 13:33:15.718 MEZ]:  at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
[2012-12-12 13:33:15.718 MEZ]:  at org.apache.axis2.transport.http.HTTPSender.sendViaPost(HTTPSender.java:193)
[2012-12-12 13:33:15.718 MEZ]:  at org.apache.axis2.transport.http.HTTPSender.send(HTTPSender.java:75)
[2012-12-12 13:33:15.718 MEZ]:  at org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageWithCommons(CommonsHTTPTransportSender.java:389)
[2012-12-12 13:33:15.718 MEZ]:  at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:222)
[2012-12-12 13:33:15.718 MEZ]:  at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:435)
[2012-12-12 13:33:15.734 MEZ]:  at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:402)
[2012-12-12 13:33:15.734 MEZ]:  at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
[2012-12-12 13:33:15.734 MEZ]:  at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
[2012-12-12 13:33:15.734 MEZ]:  at my.generated.webservice.client.Quoting_ServiceStub.getQuotesByRequest(Quoting_ServiceStub.java:4215)
...
[2012-12-12 13:33:15.781 MEZ]: Caused by: java.net.SocketTimeoutException: Read timed out
[2012-12-12 13:33:15.781 MEZ]:  at java.net.SocketInputStream.socketRead0(Native Method)
[2012-12-12 13:33:15.781 MEZ]:  at java.net.SocketInputStream.read(SocketInputStream.java:129)
[2012-12-12 13:33:15.781 MEZ]:  at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
[2012-12-12 13:33:15.781 MEZ]:  at java.io.BufferedInputStream.read(BufferedInputStream.java:237)
[2012-12-12 13:33:15.796 MEZ]:  at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78)
[2012-12-12 13:33:15.796 MEZ]:  at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106)
[2012-12-12 13:33:15.796 MEZ]:  at org.apache.commons.httpclient.HttpConnection.readLine(HttpConnection.java:1116)

これは、すべてのテストおよび実稼働システム (Windows および Linux) で発生します。通信には HttpClient 3.1 (Apache commons) を使用しており、アプリケーションとマシンを再起動しましたが成功しませんでした。

ここで奇妙なことがあります。Web サービス クライアントをデバッグし、SoapUI (Windows の場合) と curl (Linux の場合) を使用して要求 XML を Web サービス サーバーに送信し、応答を取得しました (1.5 秒以内の妥当な速さ)。 . したがって、DNS、ファイアウォール、または許可の問題でもありません.

この問題を解決する方法を教えてください。

4

0 に答える 0