Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-3609

Oneway CXF service having problem with Gemini-Web​/Tomcat-ca​talina

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.4.1, 2.3.5
    • 2.3.6, 2.4.2, 2.5
    • Transports
    • 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

      Attachments

        Activity

          People

            ay Akitoshi Yoshida
            ay Akitoshi Yoshida
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: