[ 
https://issues.apache.org/jira/browse/AXIS2-3591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12760174#action_12760174
 ] 

Cathal Callaghan commented on AXIS2-3591:
-----------------------------------------

Hi Satya,

In order to enable MTOM over JMS with Axis2 you must ensure the following 
properties are set on your client:

/* enable MTOM - all binary elements will be serialised as MTOM attachments */
options.setProperty(Constants.Configuration.ENABLE_MTOM, Constants.VALUE_TRUE); 

/* send JMS messages as byte messages, Axis2 only allows the use of MTOM with 
byte messages in JMS */
options.setProperty(JMSConstants.JMS_MESSAGE_TYPE, 
JMSConstants.JMS_BYTE_MESSAGE); 
                
/* use doom axiom tree - this is required when using MTOM and rampart together, 
if not set
* MTOM will be ignored and all binary data will be sent unoptimised in the SOAP 
envelope */
options.setProperty(WSSHandlerConstants.USE_DOOM, Constants.VALUE_TRUE); 

If you ensure that these properties are set, you already have 
Constants.Configuration.ENABLE_MTOM set, you should have no problem.

Thanks,
Cathal

> MTOM doesnt work over JMS
> -------------------------
>
>                 Key: AXIS2-3591
>                 URL: https://issues.apache.org/jira/browse/AXIS2-3591
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: transports
>    Affects Versions: 1.3
>         Environment: OS: Windows XP Pro 2002 Service Pack 2
>            Reporter: Cathal Callaghan
>         Attachments: JMSSender.java
>
>   Original Estimate: 0.5h
>  Remaining Estimate: 0.5h
>
> Performing MTOM optimization over the JMS transport does not work correctly.
> There are three main issues involved here:
> 1) MessageContext.setDoingMTOM()
> For the JMS transport a call to MessageContext.setDoingMTOM() will always 
> return false. This is due to the fact that, unlike the HTTP transport, the 
> JMS transport never checks whether enableMTOM has been set in config or 
> programmatically. This means that a JMS message containing binary content 
> will never be optimized.
> 2) JMSByteMessage always sent as soap1.1 format
> The OMOutputFormat class defaults its soap version to soap1.1. The HTTP 
> transport sets this according to the soap namespace used in the soap 
> envolope. JMS however does not do this and the byte message is always sent as 
> soap1.1
> 3) contentType of JMS message is never set
> The contentType of a JMS message is never set. This passes unnoticed on the 
> server when attachments are not involved. However when a message contains 
> attachments the expected contentType of 'multipart/related' is never present 
> and the message is perceived as a non soap/xml message which is incorrect.
> I have attached a working solution for the above issue so can submit if agreed
> Thanks,
> Cathal Callaghan

-- 
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