Hi, I am facing an issue running a SOAP Web Service Provider/Consumer scenario in CXF 2.7.7 under Karaf 2.3.3. When I run multiple consumers sending larger messages in parallel I get for some requests (not all) a java.net.SocketException: Socket closed exception at consumer side.
I played already with timeout settings and http max connections but had no success. If I change the keep-alive configuration to close or change the underlying implementation to http-async everything works fine. That is why I think it must be some problem related to the keep-alive configuration. Furthermore I found a perhaps related issue which occurs on WebLogic. https://issues.apache.org/jira/browse/CXF-4524. I would appreciate any explanation on this behaviour and/or ideas to get around it. Please find the log snippets attached. Regards, Achim *Consumer:* 2015-08-10 11:51:58,025 | WARN | ool-35-thread-39 | PhaseInterceptorChain | ache.cxf.common.logging.LogUtils 452 | 122 - org.apache.cxf.cxf-api - 2.7.7 | Interceptor for ... has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Could not send Message. at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:64)[122:org.apache.cxf.cxf-api:2.7.7] ... Caused by: java.net.SocketException: SocketException invoking ...: Socket closed at sun.reflect.GeneratedConstructorAccessor78.newInstance(Unknown Source)[:1.8.0_11] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.8.0_11] at java.lang.reflect.Constructor.newInstance(Constructor.java:408)[:1.8.0_11] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1338)[130:org.apache.cxf.cxf-rt-transports-http:2.7.7] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1322)[130:org.apache.cxf.cxf-rt-transports-http:2.7.7] at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)[122:org.apache.cxf.cxf-api:2.7.7] at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:627)[130:org.apache.cxf.cxf-rt-transports-http:2.7.7] at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)[122:org.apache.cxf.cxf-api:2.7.7] ... 12 more Caused by: java.net.SocketException: Socket closed at java.net.SocketInputStream.socketRead0(Native Method)[:1.8.0_11] at java.net.SocketInputStream.read(SocketInputStream.java:150)[:1.8.0_11] at java.net.SocketInputStream.read(SocketInputStream.java:121)[:1.8.0_11] at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)[:1.8.0_11] at java.io.BufferedInputStream.read1(BufferedInputStream.java:286)[:1.8.0_11] at java.io.BufferedInputStream.read(BufferedInputStream.java:345)[:1.8.0_11] at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:701)[:1.8.0_11] at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:647)[:1.8.0_11] at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1534)[:1.8.0_11] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1439)[:1.8.0_11] at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)[:1.8.0_11] at org.apache.cxf.transport.http.URLConnectionHTTPConduit$URLConnectionWrappedOutputStream.getResponseCode(URLConnectionHTTPConduit.java:260)[130:org.apache.cxf.cxf-rt-transports-http:2.7.7] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1529)[130:org.apache.cxf.cxf-rt-transports-http:2.7.7] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1502)[130:org.apache.cxf.cxf-rt-transports-http:2.7.7] at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1309)[130:org.apache.cxf.cxf-rt-transports-http:2.7.7] *Provider:* 2015-08-10 11:51:53,434 | WARN | tp1270072267-318 | PhaseInterceptorChain | ache.cxf.common.logging.LogUtils 452 | 122 - org.apache.cxf.cxf-api - 2.7.7 | Interceptor for ... has thrown exception, unwinding now org.apache.cxf.binding.soap.SoapFault: Error writing to XMLStreamWriter. at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:300)[128:org.apache.cxf.cxf-rt-bindings-soap:2.7.7] ... Caused by: com.ctc.wstx.exc.WstxIOException: null at com.ctc.wstx.sw.BaseStreamWriter._finishDocument(BaseStreamWriter.java:1406)[107:woodstox-core-asl:4.2.0] at com.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:536)[107:woodstox-core-asl:4.2.0] at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:294)[128:org.apache.cxf.cxf-rt-bindings-soap:2.7.7] ... 42 more Caused by: org.eclipse.jetty.io.EofException at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142)[64:org.eclipse.jetty.server:7.6.8.v20121106] at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:107)[64:org.eclipse.jetty.server:7.6.8.v20121106] at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:51)[122:org.apache.cxf.cxf-api:2.7.7] at com.ctc.wstx.io.UTF8Writer.write(UTF8Writer.java:143)[107:woodstox-core-asl:4.2.0] at com.ctc.wstx.sw.BufferingXmlWriter.flushBuffer(BufferingXmlWriter.java:1366)[107:woodstox-core-asl:4.2.0] at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:224)[107:woodstox-core-asl:4.2.0] at com.ctc.wstx.sw.BufferingXmlWriter.close(BufferingXmlWriter.java:198)[107:woodstox-core-asl:4.2.0] at com.ctc.wstx.sw.BaseStreamWriter._finishDocument(BaseStreamWriter.java:1404)[107:woodstox-core-asl:4.2.0] ... 44 more
