[ 
https://issues.apache.org/activemq/browse/SM-1602?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46095#action_46095
 ] 

Freeman Fang commented on SM-1602:
----------------------------------

Hi Ron,

I understand what you mean now.
 Yeah, the MTOMEnabled flag only control how to send the outgoing message with 
attachments, but for the incoming message, should be handled gracefully 
regardingless the MTOMEnabled. This is how it works in cxf, and how it works in 
cxf bc consumer.
But for cxf bc provider, there is a bug in CxfBcProviderMessageObserver.java, 
the AttachmentInInterceptor(which take care of the mtom attachments in the 
incoming message) should be always added in the interceptorchain (currently it 
added only mtomEnable=true).

It's a bug, thanks for point it out.
 
Freeman

> cxf-bc provider w/mtomEnabled=false talking to cxf-bc consumer 
> w/mtomEnabled=true over jms throws Error reading XMLStreamReader
> -------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SM-1602
>                 URL: https://issues.apache.org/activemq/browse/SM-1602
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-cxf-bc
>    Affects Versions: 3.2.2
>         Environment: Latest version from 3.2.x branch
>            Reporter: Ron Gavlin
>            Assignee: Freeman Fang
>         Attachments: client.html, wsdl-first-cxf-sa-3.3.1.3-fuse.jar
>
>
> I have a cxf-se service that returns an attachment. It is configured with 
> mtomEnabled=true. It is fronted by a cxf-bc consumer configured to use the 
> jms transport. The cxf-bc is also configured with mtomEnabled=true.
> I have a cxf-bc provider configured to communicate with the above cxf-bc 
> consumer over jms. However, it is configured with mtomEnabled=false. 
> When I send an in-out ME to the cxf-bc provider, the following error occurs:
> INFO: Interceptor 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:183)
>         at 
> org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:56)
>         at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:220)
>         at 
> org.apache.servicemix.cxfbc.CxfBcProviderMessageObserver.onMessage(CxfBcProviderMessageObserver.java:140)
>         at 
> org.apache.cxf.transport.jms.JMSConduit.sendExchange(JMSConduit.java:172)
>         at 
> org.apache.cxf.transport.jms.JMSOutputStream.doClose(JMSOutputStream.java:49)
>         at 
> org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:167)
>         at 
> org.apache.servicemix.cxfbc.CxfBcProvider.process(CxfBcProvider.java:213)
>         at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:540)
>         at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:492)
>         at 
> org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
>         at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
>         at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>         at 
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
>         at 
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>         at java.lang.Thread.run(Thread.java:595)
> Caused by: com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character 
> '-' (code 45) in prolog; expected '<'
>  at [row,col {unknown-source}]: [2,1]
>         at 
> com.ctc.wstx.sr.StreamScanner.throwUnexpectedChar(StreamScanner.java:623)
>         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:85)
>         ... 17 more
> In order to reproduce the problem

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to