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

Attachments semantics are different for incoming and outgoing messages

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • 1.6.2
    • None
    • kernel
    • None

    Description

      The message builders for MTOM and SwA both initialize the message context with an Attachments object that contains all MIME parts, including the root part. On the other hand, the corresponding message formatters have different expectations. The message formatter for MTOM doesn't look at the Attachments object in the message context because attachments are referenced by special OMText instances in the SOAP envelope. Finally, the message formatter for SwA assumes that the Attachments object in the message context only contains the attachment parts.

      This means that for MTOM and SwA messages, the message context is set up differently for incoming and outgoing messages. Such inconsistencies in the API are not only annoying, but they also cause subtile issues in Synapse which needs to be able to forward messages, i.e. transform incoming into outgoing messages. One such issue is described in SYNAPSE-867.

      The proposal is to change the semantics for incoming messages, such that they match the current semantics for outgoing messages. In practice this means:

      1. The Attachments object in the message context would no longer be set for MTOM messages. In fact, code that attempts to directly access the MIME parts of an MTOM message is broken by definition, because the sender is free to choose which base64Binary elements are sent as attachments and which ones are inlined.
      2. The message builder for SwA would remove the root part from the Attachments object before adding it to the message context, so that application code only sees attachments parts. In fact, there is no valid use case where application code would want to retrieve the SOAP part directly from the Attachments object.

      Attachments

        Issue Links

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            veithen Andreas Veithen

            Dates

              Created:
              Updated:

              Slack

                Issue deployment