Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.4.1, 2.3.5
-
None
Description
Hi,
There seems to be some IO handling problem in oneway CXF services on
equinox with the latest gemini-web.
It think I have identified the cause of the problem and that we could
fix it in CXF. But I would like to get your comments.
The problem happens sporadically for oneway services when the
StaxInInterceptor tries to instantiate the XMLStreamReader from the
InputStream object. In this test scenario, a series of oneway calls
are sequentially sent to a CXF oneway service. And sporadically, some
calls result in the following exception, that is indicating the input
stream is already closed, even though the data should be available in
the stream.
Caused by: java.lang.RuntimeException: Couldn't parse stream.
at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1143)
~[na:na]
at org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:105)
~[na:na]
... 27 common frames omitted
Caused by: com.ctc.wstx.exc.WstxIOException: Stream closed
at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:536)
~[na:na]
at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:585)
~[na:na]
at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:610)
~[na:na]
at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:316)
~[na:na]
at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1141)
~[na:na]
... 28 common frames omitted
Caused by: java.io.IOException: Stream closed
at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:308)
~[na:na]
at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:202)
~[na:na]
at org.apache.cxf.transport.servlet.LogServletInputStream.read(LogServletInputStream.java:80)
~[na:na]
at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155) ~[na:na]
at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368) ~[na:na]
at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111) ~[na:na]
at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)
~[na:na]
at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)
~[na:na]
at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:531)
~[na:na]
I didn't see this problem with jetty before and started to see this
problem sporadically right after switching to gemini-web.
...
Further details described in:
http://cxf.547215.n5.nabble.com/Oneway-CXF-service-having-problem-with-Gemini-Web-Tomcat-catalina-td4500191.html