*Please let me know if this issue was resolved in later versions of 2.3.x.*
I am facing a socket issue with CXF 2.3.0. My service request takes around 10 minutes so I have set my socket time out on the client side. But when the service sends response, I see the following exception on the client side. No exception on the server. NOTE: This problem only occurs when WS-Security is engaged. On plain web service endpoints it works fine even with large delays. Client uses Dispatch<Source> model. Aug 19, 2011 5:09:32 PM org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging WARNING: Interceptor for { http://ns.ca.com/catalyst/node}NodeX509#{http://cxf.apache.org/jaxws/dispatch}Invokehas thrown exception, unwinding now org.apache.cxf.interceptor.Fault: Could not send Message. ....... Caused by: java.net.SocketException: SocketException invoking http://0.0.0.0:9900/nodex509/ModuleInstance: Unexpected end of file from server at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1995) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1980) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:662) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) ... 10 more Caused by: java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1064) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2102) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2071) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1925) ... 13 more [com.ca.ucf.remote.ws.client.WSModuleProxy] : Could not add SOAP header elements javax.xml.ws.WebServiceException: Could not send Message. at org.apache.cxf.jaxws.DispatchImpl.mapException(DispatchImpl.java:244) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:339) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:218) at com.ca.garan10.test.RunTest.main(RunTest.java:11) Caused by: java.net.SocketException: SocketException invoking http://0.0.0.0:9900/nodex509/ModuleInstance: Unexpected end of file from server at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1995) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1980) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:662) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:300) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:332) ... 4 more Caused by: java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1064) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2102) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2071) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1925) ... 13 more Exception in thread "main" com.ca.ucf.api.UCFException: Could not send Message. at com.ca.garan10.test.RunTest.main(RunTest.java:11) Caused by: javax.xml.ws.WebServiceException: Could not send Message. at org.apache.cxf.jaxws.DispatchImpl.mapException(DispatchImpl.java:244) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:339) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:218) ... 2 more Caused by: java.net.SocketException: SocketException invoking http://0.0.0.0:9900/nodex509/ModuleInstance: Unexpected end of file from server at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.mapException(HTTPConduit.java:1995) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1980) at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:662) at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:247) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313) at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265) at org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:300) at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:332) ... 4 more Caused by: java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:769) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:766) at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1064) at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2102) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2071) at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1925) ... 13 more Interestingly the logs reveal that the client actually got the SOAP response. But something on the CXF client side is closing the channel incorrectly!!! BADLY IN NEED OF A SOLUTION :( Thanks, Anil