I ran into this problem as well.   Try lowering your logging setting to
INFO.  There's a bug in which higher logging settings result in the headers
being sent early.

On Tue, May 10, 2011 at 11:27 AM, eneko.fernandez <[email protected]
> wrote:

> Hi All,
>
> I'm developing a generic ws client using cxf dynamic client which has been
> working fine for months using CXF 2.3.3, but when I upgraded to CXF 2.4.0 I
> got an exception invoking ws...
>
> Caused by: java.io.IOException: IOException invoking {URL to endpoint}:
> Stream is closed
>        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:1385)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1370)
>        at
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
>        at
> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:614)
>        at
>
> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
>        at
>
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
>        at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:484)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:414)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:317)
>        at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:269)
>        at
> org.apache.cxf.endpoint.ClientImpl.invokeWrapped(ClientImpl.java:304)
>        at org.apache.cxf.jaxws.DispatchImpl.invoke(DispatchImpl.java:332)
>        ... 28 more
> Caused by: java.io.IOException: Stream is closed
>        at
>
> sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.checkError(HttpURLConnection.java:2799)
>        at
>
> sun.net.www.protocol.http.HttpURLConnection$StreamingOutputStream.write(HttpURLConnection.java:2788)
>        at
>
> org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:46)
>        at
>
> org.apache.cxf.io.AbstractThresholdOutputStream.write(AbstractThresholdOutputStream.java:69)
>        at
>
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1342)
>        ... 38 more
>
> Handler's chain for cxf 2.3.3
>
> Chain org.apache.cxf.phase.PhaseInterceptorChain@1bbf341 was modified.
> Current flow:
>  pre-logical [HolderOutInterceptor, SwAOutInterceptor,
> WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
>  post-logical [SoapPreProtocolOutInterceptor]
>  prepare-send [MessageModeOutInterceptor, MessageSenderInterceptor]
>  pre-stream [AttachmentOutInterceptor, StaxOutInterceptor]
>  pre-protocol [MessageModeOutInterceptorInternal, SAAJOutInterceptor]
>  write [SoapOutInterceptor]
>  marshal [BareOutInterceptor]
>  write-ending [SoapOutEndingInterceptor]
>  pre-protocol-ending [SAAJOutEndingInterceptor]
>  pre-stream-ending [StaxOutEndingInterceptor]
>  prepare-send-ending [MessageSenderEndingInterceptor]
>
>
> Handler's chain for cxf 2.4.0
>
> Chain org.apache.cxf.phase.PhaseInterceptorChain@185b10b was modified.
> Current flow:
>  pre-logical [HolderOutInterceptor, SwAOutInterceptor,
> WrapperClassOutInterceptor, SoapHeaderOutFilterInterceptor]
>  post-logical [SoapPreProtocolOutInterceptor]
>  prepare-send [MessageModeOutInterceptor, MessageSenderInterceptor]
>  pre-stream [AttachmentOutInterceptor, StaxOutInterceptor]
>  pre-protocol [MessageModeOutInterceptorInternal, SAAJOutInterceptor]
>  write [SoapOutInterceptor]
>  marshal [BareOutInterceptor]
>  write-ending [SoapOutEndingInterceptor]
>  pre-protocol-ending [SAAJOutEndingInterceptor]
>  pre-stream-ending [StaxOutEndingInterceptor]
>  prepare-send-ending [MessageSenderEndingInterceptor]
>
> Checking the Log I can see how version 2.3.3 brings out this message
>
> Sending POST Message with Headers to {URL to endpoint}:Conduit
> :{http://www.can.es/xml/sf/gpidpers}GPIDPERS_Port.http-conduit
> Content-Type: text/xml; charset=UTF-8
>
> Hoewer the same message in CXF 2.4.0
>
> Sending POST Message with Headers to {URL to endpoint}:Conduit
> :{http://www.can.es/xml/sf/gpidpers}GPIDPERS_Port.http-conduit
> Content-Type: null
>
> In addition, I've monitored http request in both situations and http
> request
> wasnt sent using CXF 2.4.0
>
> Any suggestion will be appreciated,
>
> Thanks in advance...
>
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/Stream-is-closed-Exception-when-upgrade-from-CXF-2-3-3-to-CXF-2-4-0-tp4385277p4385277.html
> Sent from the cxf-user mailing list archive at Nabble.com.
>

Reply via email to