If the config <jms:client messageType="byte"/> doesn't appear in the WSDL of the service. The current implementation of JMS Transport will send MTOM message as TextMessage. So in current implementation, if one wants to use JMS MTOM-support, the config <jms:client messageType="byte"/> must be set, then the MTOM message will be sent as ByteMessage.
Willem Jiang wrote: > After digging the code, I found we could know if the Message has > attachments by looking the message in the JMSConduit.sendExchange() > method. We can tell if the message is MTOM enabled and has the > attachement message, then we just make sure the JMS Message type is > BytesMessage that should be OK. > > BTW, Freeman did some work to make the JMS transport support MTOM[1] > > [1] http://issues.apache.org/jira/browse/CXF-1760 > > Willem > > Willem Jiang wrote: > >> Hi, >> >> If we defer the creation of JMS Message until we know the Content-Type >> for the client, we still need to flight with the miss configuration of >> MTOM with TextMessage on the server side. >> >> Current solution , I discussed with Liu Cong is if the MTOM is enabled, >> CXF JMS transport will check the configuration of the JMS message type, >> and make sure the JMS message type is BytesMessage, if not, the JMS >> transport will throw an Exception for it. >> >> Any thought? >> >> Willem >> >> Daniel Kulp wrote: >> >>> On Wed May 6 2009 9:15:54 am Willem Jiang wrote: >>> >>>> Hi >>>> >>>> I think MTOM message should have the attachment info, we could check >>>> that for it. We have some trouble to send the MTOM message if we send >>>> the message in Text model, and Liu Cong is working on the patch. >>>> >>> Hmm.... the message won't have the attachment info at "prepare" time. >>> Whether to switch to mtom/mime or not is done later on, in the >>> AttachmentOutInterceptor. The actual creation of the JMS message might >>> need >>> to be deferred until the first call to write on the cached output stream or >>> something. At that point, the Content-Type should be set to the mime >>> version >>> and thus could be determined if it needs to be a binary message or not. >>> >>> Dan >>> >>> >>> >>> >>>> Willem >>>> >>>> Daniel Kulp wrote: >>>> >>>>> Doesn't it already support MTOM? >>>>> >>>>> Basically, it provides a OutputSteam to the dispatching and if the >>>>> runtime needs to handle attachments and such, it will write it as mime >>>>> stuff to the stream. >>>>> >>>>> Dan >>>>> >>>>> On Tue May 5 2009 12:53:48 am liucong wrote: >>>>> >>>>>> Hi all, >>>>>> >>>>>> When I want to add MTOM support for SOAP/JMS, I should know whether a >>>>>> soap message have an attachment. But I don't know the details how to >>>>>> judge wheter the message have an attachment. >>>>>> Is anyone give me any prompt about where the code is? Or some code >>>>>> example? >>>>>> >>>>>> Thank you very much. >>>>>> >>>>>> Best regards >>>>>> >>>>>> Liu >>>>>> >> > > >
