[ 
https://issues.apache.org/jira/browse/CXF-5414?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark van den Bergh updated CXF-5414:
------------------------------------

    Attachment: ContinuationTest.zip

Minimal project which displays the issue. Compile and build the war using 
maven. Run the war file in Apache Tomcat and call the web service several times.

Update pom.xml CXF version to 2.7.0 to see that version does not contain the 
mentioned issue.

> XMLStreamException when using Continuations in versions > 2.7.0
> ---------------------------------------------------------------
>
>                 Key: CXF-5414
>                 URL: https://issues.apache.org/jira/browse/CXF-5414
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.7.1, 2.7.2, 2.7.3, 2.7.4, 2.7.5, 2.7.6, 2.7.7
>         Environment: Ubuntu 12.04, Ubuntu 13.04, Java 7, Apache Tomcat 7.0.42
>            Reporter: Mark van den Bergh
>              Labels: continuation, future, threading
>             Fix For: 2.7.0
>
>         Attachments: ContinuationTest.zip
>
>
> When using Continuation in a Jax web service after every call a stacktrace is 
> printed (the web service does work as expected). If a new web service call is 
> executed while waiting for the stacktrace (in Apache Tomcat the stacktrace 
> appears after about 10 seconds) the web service is very slow. Some calls take 
> up to 8 seconds to complete.
> This only occurs with CXF versions above 2.7.0. Tested versions: 2.7.1, 
> 2.7.2, 2.7.3 and 2.7.7.
> Stacktraces:
> Nov 21, 2013 10:15:53 PM org.apache.cxf.phase.PhaseInterceptorChain 
> doDefaultLogging
> WARNING: Interceptor for 
> {http://continuation.example.com/}ContinuationWebServiceService#{http://continuation.example.com/}test
>  has thrown exception, unwinding now
> java.lang.RuntimeException: Can't find input stream in message
>       at 
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:145)
>       at 
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:62)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
>       at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>       at 
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
>       at 
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:167)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:660)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:626)
>       at 
> org.apache.catalina.core.AsyncContextImpl$1.run(AsyncContextImpl.java:225)
>       at 
> org.apache.catalina.core.AsyncContextImpl.doInternalDispatch(AsyncContextImpl.java:367)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>       at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>       at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:299)
>       at 
> org.apache.coyote.http11.AbstractHttp11Processor.asyncDispatch(AbstractHttp11Processor.java:1587)
>       at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:583)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:722)
> Nov 21, 2013 10:15:53 PM org.apache.cxf.phase.PhaseInterceptorChain 
> doDefaultLogging
> WARNING: Interceptor for 
> {http://continuation.example.com/}ContinuationWebServiceService#{http://continuation.example.com/}test
>  has thrown exception, unwinding now
> org.apache.cxf.binding.soap.SoapFault: Error writing to XMLStreamWriter.
>       at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:300)
>       at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:282)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
>       at 
> org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:333)
>       at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>       at 
> org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
>       at 
> org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:167)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doDispatch(ApplicationDispatcher.java:660)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.dispatch(ApplicationDispatcher.java:626)
>       at 
> org.apache.catalina.core.AsyncContextImpl$1.run(AsyncContextImpl.java:225)
>       at 
> org.apache.catalina.core.AsyncContextImpl.doInternalDispatch(AsyncContextImpl.java:367)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:217)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
>       at 
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
>       at 
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.asyncDispatch(CoyoteAdapter.java:299)
>       at 
> org.apache.coyote.http11.AbstractHttp11Processor.asyncDispatch(AbstractHttp11Processor.java:1587)
>       at 
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:583)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>       at java.lang.Thread.run(Thread.java:722)
> Caused by: javax.xml.stream.XMLStreamException: No open start element, when 
> trying to write end element
>       at 
> com.ctc.wstx.sw.BaseStreamWriter.throwOutputError(BaseStreamWriter.java:1522)
>       at 
> com.ctc.wstx.sw.BaseStreamWriter.reportNwfStructure(BaseStreamWriter.java:1551)
>       at 
> com.ctc.wstx.sw.BaseNsStreamWriter.doWriteEndTag(BaseNsStreamWriter.java:648)
>       at 
> com.ctc.wstx.sw.BaseNsStreamWriter.writeEndElement(BaseNsStreamWriter.java:280)
>       at 
> org.apache.cxf.binding.soap.interceptor.SoapOutInterceptor$SoapOutEndingInterceptor.handleMessage(SoapOutInterceptor.java:291)
>       ... 35 more



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

Reply via email to