You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Andrew Vella (JIRA)" <ji...@apache.org> on 2013/10/02 22:37:42 UTC

[jira] [Created] (CXF-5318) "stream is closed" error when enabling LoggingInInterceptor on JaxWSClient

Andrew Vella created CXF-5318:
---------------------------------

             Summary: "stream is closed" error when enabling LoggingInInterceptor on JaxWSClient
                 Key: CXF-5318
                 URL: https://issues.apache.org/jira/browse/CXF-5318
             Project: CXF
          Issue Type: Bug
    Affects Versions: 2.7.6
            Reporter: Andrew Vella


I'm having a weird issue and cannot seem to get the bottom of it. Basically need to log the soap XML being sent to a webservice and received (consumer). I believe the correct approach to this is to use the out of the box interceptors provided by Apache. These work fine however we have a particular case where a method accepts a large amount of parameters/objects and returns a large amount of parameters/objects which would obviously create a large soap request/response xml. The soap request/response are always being printed correctly however the below error is being thrown:

Application configuration

Spring config:


    <jaxws:client id="serviceClient"
                  serviceClass="com.services.stubs.ServiceAPI"
                  address="${service.url}">
        <jaxws:inInterceptors>
            <ref bean="incomingInterceptor"/>
        </jaxws:inInterceptors>
        <jaxws:outInterceptors>
            <ref bean="outgoingInterceptor"/>
        </jaxws:outInterceptors>
    </jaxws:client>

My Interceptor classes:

public class OutLoggingInterceptor extends LoggingOutInterceptor
{
    public OutLoggingInterceptor()
    {
        super(Phase.PRE_STREAM);
    }
}


public class InLoggingInterceptor extends LoggingInInterceptor
{
    public InLoggingInterceptor()
    {
        super(Phase.RECEIVE);
    }
}


Error being thrown:

org.apache.cxf.interceptor.Fault: stream is closed
	at org.apache.cxf.interceptor.LoggingInInterceptor.logging(LoggingInInterceptor.java:167) ~[cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.interceptor.LoggingInInterceptor.handleMessage(LoggingInInterceptor.java:78) ~[cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:811) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1590) [cxf-rt-transports-http-2.7.6.jar:2.7.6]
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1486) [cxf-rt-transports-http-2.7.6.jar:2.7.6]
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1305) [cxf-rt-transports-http-2.7.6.jar:2.7.6]
	at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:50) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:223) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:623) [cxf-rt-transports-http-2.7.6.jar:2.7.6]
	at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:541) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330) [cxf-api-2.7.6.jar:2.7.6]
	at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96) [cxf-rt-frontend-simple-2.7.6.jar:2.7.6]
	at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) [cxf-rt-frontend-jaxws-2.7.6.jar:2.7.6]


Not sure if this is the correct place to post this so my apologies in advance.



--
This message was sent by Atlassian JIRA
(v6.1#6144)