You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Achim Finke <ac...@googlemail.com> on 2015/08/10 12:37:03 UTC

Running into SocketException using SOAP Web Service

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

Re: Running into SocketException using SOAP Web Service

Posted by Andrei Shakirin <as...@talend.com>.
Hi Achim,

Glad to hear that problem is resolved.

Regards,
Andrei.

________________________________
From: Achim Finke <ac...@googlemail.com>
Sent: Monday, August 17, 2015 3:57 PM
To: Andrei Shakirin
Subject: Re: Running into SocketException using SOAP Web Service

Hi Andrei,

thanks for the hint. I did not read the message at client side. Now as I am reading it the SocketException is gone.

Regards,
Achim

2015-08-16 17:33 GMT+02:00 Andrei Shakirin <as...@talend.com>>:
Hi Achim,

Do you consume the message on the server side?
I had the similar issue just because the server code didn't read the input stream of incoming message and connection was closed by timeout.

Regards,
Andrei.
________________________________________
From: Achim Finke <ac...@googlemail.com>>
Sent: Monday, August 10, 2015 12:37 PM
To: users@cxf.apache.org<ma...@cxf.apache.org>
Subject: Running into SocketException using SOAP Web Service

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


Re: Running into SocketException using SOAP Web Service

Posted by Andrei Shakirin <as...@talend.com>.
Hi Achim,

Do you consume the message on the server side?
I had the similar issue just because the server code didn't read the input stream of incoming message and connection was closed by timeout.

Regards,
Andrei.
________________________________________
From: Achim Finke <ac...@googlemail.com>
Sent: Monday, August 10, 2015 12:37 PM
To: users@cxf.apache.org
Subject: Running into SocketException using SOAP Web Service

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