You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Freeman Fang (JIRA)" <ji...@apache.org> on 2016/08/29 10:06:20 UTC

[jira] [Created] (CXF-7029) HttpAuthenticationFaultHandler cause java.lang.IllegalStateException: WRITER

Freeman Fang created CXF-7029:
---------------------------------

             Summary: HttpAuthenticationFaultHandler cause java.lang.IllegalStateException: WRITER
                 Key: CXF-7029
                 URL: https://issues.apache.org/jira/browse/CXF-7029
             Project: CXF
          Issue Type: Bug
            Reporter: Freeman Fang


although it works, it cause exception like
{code}
09:07:50,506 | WARN  | qtp682010421-149 | PhaseInterceptorChain            | 74 - org.apache.cxf.cxf-core - 3.0.4 | Interceptor for {xxxxxxxxxxxxx}IncidentService has thrown exception, unwinding now
java.lang.IllegalStateException: WRITER
	at org.eclipse.jetty.server.Response.getOutputStream(Response.java:667)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:628)[96:org.apache.cxf.cxf-rt-transports-http:3.0.4]
	at org.apache.cxf.transport.http.AbstractHTTPDestination.flushHeaders(AbstractHTTPDestination.java:597)[96:org.apache.cxf.cxf-rt-transports-http:3.0.4]
	at org.apache.cxf.transport.http.AbstractHTTPDestination$WrappedOutputStream.onFirstWrite(AbstractHTTPDestination.java:773)[96:org.apache.cxf.cxf-rt-transports-http:3.0.4]
	at org.apache.cxf.io.AbstractWrappedOutputStream.write(AbstractWrappedOutputStream.java:47)[74:org.apache.cxf.cxf-core:3.0.4]
	at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:100)[68:woodstox-core-asl:4.4.1]
	at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:241)[68:woodstox-core-asl:4.4.1]
	at com.ctc.wstx.sw.BufferingXmlWriter.close(BufferingXmlWriter.java:214)[68:woodstox-core-asl:4.4.1]
	at com.ctc.wstx.sw.BaseStreamWriter._finishDocument(BaseStreamWriter.java:1419)[68:woodstox-core-asl:4.4.1]
	at com.ctc.wstx.sw.BaseStreamWriter.writeEndDocument(BaseStreamWriter.java:532)[68:woodstox-core-asl:4.4.1]
	at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:303)[81:org.apache.cxf.cxf-rt-bindings-soap:3.0.4]
	at org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:290)[81:org.apache.cxf.cxf-rt-bindings-soap:3.0.4]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)[74:org.apache.cxf.cxf-core:3.0.4]
	at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)[74:org.apache.cxf.cxf-core:3.0.4]
	at org.apache.cxf.phase.PhaseInterceptorChain.wrapExceptionAsFault(PhaseInterceptorChain.java:365)[74:org.apache.cxf.cxf-core:3.0.4]
	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:323)[74:org.apache.cxf.cxf-core:3.0.4]
	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)[74:org.apache.cxf.cxf-core:3.0.4]
	at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)[96:org.apache.cxf.cxf-rt-transports-http:3.0.4]
	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)[96:org.apache.cxf.cxf-rt-transports-http:3.0.4]
	at 

.....
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:503)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:69)[93:org.ops4j.pax.web.pax-web-jetty:3.2.7]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:240)[93:org.ops4j.pax.web.pax-web-jetty:3.2.7]
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:429)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:75)[93:org.ops4j.pax.web.pax-web-jetty:3.2.7]
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.Server.handle(Server.java:370)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:494)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:971)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1033)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:231)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:696)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:53)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)[86:org.eclipse.jetty.aggregate.jetty-all-server:8.1.18.v20150929]
	at java.lang.Thread.run(Thread.java:745)[:1.7.0_79]
{code}
This is caused by that we call the ServletResponse.getWriter() before we call the ServletResponse.getOutputStream(), we should use align the way to use the ServletResponse



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)