Uploaded image for project: 'FUSE Mediation Router'
  1. FUSE Mediation Router
  2. MR-93

SAXParseException when using Mediation Router 1.4.3.0

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 1.4.4.0-fuse
    • 1.4.3.0-fuse
    • None
    • None

    Description

      We have a really simple use case that works fine on MR 1.4.1 and 1.4.2, but throws an exception on 1.4.3.

      The exception is:

      SEVERE: Failed delivery for exchangeId: ID-S206035J4463581/3455-1222349716850/0-0. On delivery attempt: 1 caught: org.apache.camel.RuntimeCamelException: org.xml.sax.SAXParseException: Premature end of file.
      org.apache.camel.RuntimeCamelException: org.xml.sax.SAXParseException: Premature end of file.
      at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:440)
      at org.apache.camel.impl.converter.InstanceMethodTypeConverter.convertTo(InstanceMethodTypeConverter.java:57)
      at org.apache.camel.impl.converter.DefaultTypeConverter.convertTo(DefaultTypeConverter.java:83)
      at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:59)
      at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:50)
      at org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:56)
      at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
      at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
      at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
      at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
      at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:57)
      at org.apache.camel.processor.TryProcessor.process(TryProcessor.java:56)
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:69)
      at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:174)
      at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:96)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
      at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
      at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:57)
      at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
      at org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:53)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
      at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      at org.mortbay.jetty.Server.handle(Server.java:324)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
      at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
      at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
      at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
      Caused by: org.xml.sax.SAXParseException: Premature end of file.
      at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:264)
      at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:292)
      at org.apache.camel.converter.jaxp.XmlConverter.toDOMSourceFromStream(XmlConverter.java:378)
      at org.apache.camel.converter.jaxp.XmlConverter.toDOMSource(XmlConverter.java:233)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:585)
      at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:436)
      ... 35 more
      It seems to be a problem with using the same stream for the second time.

      In order to run the test case:

      build both projects using Maven
      run tests.camel.CamelApplication from camel-fuse-testcase
      run com.sabre.camel.HttpClient from camel-http-client
      observe an exception in the CamelApplication console

      If you change Camel version in camel-fuse-testcase to 1.4.2.0 (pom.xml), it works fine.

      Attachments

        Activity

          People

            willem.jiang Willem Jiang (Inactive)
            pedroneveu Pedro Neveu (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: