Bug 1014959

Summary: HTTP Gateway and SOAPProcessor combination fails to handle MTOM messages
Product: [JBoss] JBoss Enterprise SOA Platform 5 Reporter: Tadayoshi Sato <tasato>
Component: JBossESBAssignee: tcunning
Status: ON_QA --- QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 5.3.1CC: nwallace, soa-p-jira, tcunning
Target Milestone: GA   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Bug Depends On:    
Bug Blocks: 986007    

Description Tadayoshi Sato 2013-10-03 08:17:49 UTC
Platform BZ for https://issues.jboss.org/browse/JBESB-3954

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.

Comment 1 JBoss JIRA Server 2013-10-04 08:58:48 UTC
Tadayoshi Sato <tadayosi> made a comment on jira JBESB-3954

A reproducer attached.

Comment 2 JBoss JIRA Server 2013-10-25 12:55:20 UTC
Tadayoshi Sato <tadayosi> updated the status of jira JBESB-3954 to Coding In Progress

Comment 3 JBoss JIRA Server 2013-10-28 19:18:16 UTC
Tom Cunningham <tcunning> updated the status of jira JBESB-3954 to Resolved

Comment 4 JBoss JIRA Server 2013-10-28 19:18:16 UTC
Tom Cunningham <tcunning> made a comment on jira JBESB-3954

Committed to 4.11CP2 branch.

Comment 5 JBoss JIRA Server 2013-10-28 19:18:28 UTC
Tom Cunningham <tcunning> updated the status of jira JBESB-3954 to Closed