Uploaded image for project: 'Axis2'
  1. Axis2
  2. AXIS2-3591

MTOM doesnt work over JMS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.3
    • None
    • JMS transport
    • None
    • OS: Windows XP Pro 2002 Service Pack 2

    Description

      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

      Attachments

        1. JMSSender.java
          15 kB
          Cathal Callaghan

        Activity

          People

            Unassigned Unassigned
            callagc4 Cathal Callaghan
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Time Tracking

                Estimated:
                Original Estimate - 0.5h
                0.5h
                Remaining:
                Remaining Estimate - 0.5h
                0.5h
                Logged:
                Time Spent - Not Specified
                Not Specified