Uploaded image for project: 'JBoss ESB'
  1. JBoss ESB
  2. JBESB-3954

HTTP Gateway and SOAPProcessor combination fails to handle MTOM messages

    XMLWordPrintable

    Details

    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      Use SOAPProxy with "internal://jboss.ws:context=xxxxx,endpoint=xxxxx" schema for WSDL instead.

      Show
      Use SOAPProxy with "internal://jboss.ws:context=xxxxx,endpoint=xxxxx" schema for WSDL instead.
    • Bugzilla Update:
      Perform

      Description

      The combination of JBR Gateway and SOAPProcessor can handle MTOM messages well as demonstrated by the webservice_mtom quickstart. However, if you substitute the JBR Gateway (<jbr-listener>) with HTTP Gateway (<http-gateway>), it fails to handle MTOM with the following error thrown from the target web service endpoint:

      2013-10-01 18:25:16,174 WARNING [org.apache.cxf.phase.PhaseInterceptorChain] (pool-25-thread-1) Interceptor for {http://ws.esb.samples.redhat.com/}MTOMService has thrown exception, unwinding now
      org.apache.cxf.binding.soap.SoapFault: Error reading XMLStreamReader.
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:230)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:60)
      	at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
      	at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:111)
      	at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:99)
      	at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:431)
      	at org.jboss.wsf.stack.cxf.ServletControllerExt.invoke(ServletControllerExt.java:173)
      	at org.jboss.wsf.stack.cxf.RequestHandlerImpl.handleHttpRequest(RequestHandlerImpl.java:61)
      	at org.jboss.soa.esb.actions.soap.SOAPProcessor.process(SOAPProcessor.java:212)
      	at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:667)
      	at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.processPipeline(ActionProcessingPipeline.java:614)
      	at org.jboss.soa.esb.listeners.message.ActionProcessingPipeline.process(ActionProcessingPipeline.java:442)
      	at org.jboss.soa.esb.listeners.message.MessageAwareListener$TransactionalRunner.run(MessageAwareListener.java:587)
      	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:724)
      Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '-' (code 45) in prolog; expected '<'
       at [row,col {unknown-source}]: [1,1]
      	at com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:648)
      	at com.ctc.wstx.sr.BasicStreamReader.nextFromProlog(BasicStreamReader.java:2047)
      	at com.ctc.wstx.sr.BasicStreamReader.next(BasicStreamReader.java:1069)
      	at com.ctc.wstx.sr.BasicStreamReader.nextTag(BasicStreamReader.java:1095)
      	at org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:122)
      	... 15 more
      

      While the above error stacktrace is specific to JBossWS-CXF, the same issue can be reproduced on JBossWS-Native, too.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                tadayosi Tadayoshi Sato
                Reporter:
                tadayosi Tadayoshi Sato
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: