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