Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-2207

JMS Transport send MTOM message as a TextMessage. The attachment becomes wrong.

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.2, 2.0.11, 2.1.5, 2.2.1, 2.2.2
    • 2.2.2, 2.0.12, 2.1.6
    • Transports
    • None
    • Windowns XP2, JDK1.6.0_11

    • Unknown

    Description

      MTOM over SOAP/JMS doesn't work.
      Thought the client send attachement information and the server get the attachment information, the attachment which is got by the server is not the same with the attachment information which is sent by the client.
      I have compared the two messages. And I have used several kinds of attatchment for it.
      1) Text File. The result is right.
      2) WinRaR File. The file that is received by the server is larger than the file that is sent by the client.
      3) BitMap file. The size of attachment that is sent by the client is 163166, but the size of attachment that is received is 485947, which is 167% more than the original binary data. (http://www.w3.org/TR/2008/WD-soapjms-20081121/#binding-message-body)
      According to the analysis above, reason may be as follows:
      1) In the client, the attachment is encoded as base64 encoding, and transfer as TextMessage in JMS.
      2) The server doesn't know the encoding, and just get the text message.

      The current implementation send all the messages as TextMessage because jmsConfig variable in JMSConduit is not initialized according to the MessageType of SOAPMessage. jmsConfig is just configed in wsdl. If the wsdl doesn't have messagetype information, it goes wrong.

      Attachments

        Issue Links

          Activity

            People

              njiang Willem Jiang
              liucong Liu Cong
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: