web-dev-qa-db-ja.com

原因:Java.net.SocketException:サーバーからの予期しないファイルの終わり

SOAP UIを介してWSを実行すると、以下のエラーが断続的に発生します。それが機能しないこともあれば、機能し続けることもあれば、機能しないこともあります。他の1つの問題は、テストWebサービスは問題なくクライアントから提供され、問題なく動作しますが、問題が発生したプロダクションに切り替えた瞬間、Googleが変更を行い(HttpConfigのタイムアウト、jetty maxIdleTime)、まだ機能していません:(問題は何ですか?

org.Apache.cxf.interceptor.Fault: Could not send Message.
    at org.Apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.Java:64)[147:org.Apache.cxf.cxf-api:2.6.0.redhat-60024]
    at org.Apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.Java:262)[147:org.Apache.cxf.cxf-api:2.6.0.redhat-60024]

Caused by: Java.net.SocketException: SocketException invoking https://www.website:443/gateway/ServicePortV2: Unexpected end of file from server
    at Sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)[:1.7.0_25]



Caused by: Java.net.SocketException: Unexpected end of file from server
    at Sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.Java:718)[:1.7.0_25]
    at Sun.net.www.http.HttpClient.parseHTTP(HttpClient.Java:579)[:1.7.0_25]
    at Sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.Java:1322)[:1.7.0_25]
    at Java.net.HttpURLConnection.getResponseCode(HttpURLConnection.Java:468)[:1.7.0_25]
    at Sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.Java:338)[:1.7.0_25]
    at org.Apache.cxf.transport.http.HTTPConduit.processRetransmit(HTTPConduit.Java:1004)[159:org.Apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024]
    at org.Apache.cxf.transport.http.HTTPConduit.access$400(HTTPConduit.Java:148)[159:org.Apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024]
    at org.Apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleRetransmits(HTTPConduit.Java:1504)[159:org.Apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024]
    at org.Apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.Java:1525)[159:org.Apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024]
    at org.Apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.Java:1438)[159:org.Apache.cxf.cxf-rt-transports-http:2.6.0.redhat-60024]

SOAPを使用して追加するだけで、運用エンドポイントのUIは正常に機能します。

9
Samar

最終的に、サーバー側に接続タイムアウトが設定されていることがわかりました。これにより、割り当てられた時間が経過するとキープアライブ接続がタイムアウトし、断続的なエラーが発生します。接続を毎回閉じるように変更し、すべて正常になりました。

11
Samar