You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by "eneko.fernandez" <en...@incita.eu> on 2011/05/10 20:27:22 UTC

"Stream is closed" Exception when upgrade from CXF 2.3.3 to CXF 2.4.0

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.

Re: "Stream is closed" Exception when upgrade from CXF 2.3.3 to CXF 2.4.0

Posted by "eneko.fernandez" <en...@incita.eu>.
Thanks for the prompt answer,

Yes, using 2.4.1-snapshot it works fine!



--
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-tp4385277p4386504.html
Sent from the cxf-user mailing list archive at Nabble.com.

Re: "Stream is closed" Exception when upgrade from CXF 2.3.3 to CXF 2.4.0

Posted by Sergey Beryozkin <sb...@gmail.com>.
I believe Alessio or Dan fixed the regression in 2.4.1-SNAPSHOT

Cheers, Sergey

On Tue, May 10, 2011 at 7:31 PM, Nick Heudecker <nh...@gmail.com> wrote:
> 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 <eneko.fernandez@incita.eu
>> 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.
>>
>

Re: "Stream is closed" Exception when upgrade from CXF 2.3.3 to CXF 2.4.0

Posted by Nick Heudecker <nh...@gmail.com>.
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 <eneko.fernandez@incita.eu
> 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.
>