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

Content-Type still not parsed correctly in MTOM SOAP 1.2 messages

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Incomplete
    • 1.5.1
    • None
    • None
    • None
    • axis2-1.5.1

    Description

      This is sort of a followup to https://issues.apache.org/jira/browse/AXIS2-4076 I guess.

      Install axis2 and start the default standalone server that provides version service.

      Send MTOM-encoded SOAP1.2 get version request, e.g. netcat something like the following (I intentionally start with the case that works). Important details to note about this message:

      1) wsa:Action header is present
      2) SOAP action parameter is present both
      2a) inside start-info parameter (standard location) and
      2b) as top-level parameter of the message Content-Type (where axis2 &co put it).

      For further info about point #2 see https://issues.apache.org/jira/browse/WSCOMMONS-290

      POST /axis2/services/Version.VersionHttpSoap12Endpoint/ HTTP/1.1
      Content-Type: multipart/related;
      boundary=B6331265-36EA-70D4-9375-0FF743A48AA2;
      type="application/xop+xml";
      action="urn:getVersion";
      start-info="application/soap+xml; action=\"urn:getVersion\""
      Content-Length: 487

      --B6331265-36EA-70D4-9375-0FF743A48AA2
      Content-Type: application/xop+xml; type="application/soap+xml; action=\"urn:getVersion\""

      <S12:Envelope
      xmlns:S12="http://www.w3.org/2003/05/soap-envelope"
      xmlns:wsa="http://www.w3.org/2005/08/addressing">
      <S12:Header>
      <wsa:Action>urn:getVersion</wsa:Action>
      <wsa:MessageID>urn:uuid:806D8FD2D542EDCC2C1199332890651</wsa:MessageID>
      </S12:Header>
      <S12:Body/>
      </S12:Envelope>
      -B6331265-36EA-70D4-9375-0FF743A48AA2-

      Normal getVersionResponse message is returned.

      Now change the order of action and start-info parameters in the message content-type so that it looks like:

      Content-Type: multipart/related;
      boundary=B6331265-36EA-70D4-9375-0FF743A48AA2;
      type="application/xop+xml";
      start-info="application/soap+xml; action=\"urn:getVersion\"";
      action="urn:getVersion"

      Axis2 replies with a fault (prettified for readability):

      HTTP/1.1 500 A header representing a Message Addressing Property is not valid and the message cannot be processed

      <soapenv:Envelope
      xmlns:soapenv="http://www.w3.org/2003/05/soap-envelope">
      <soapenv:Header
      xmlns:wsa="http://www.w3.org/2005/08/addressing">
      <wsa:Action>http://www.w3.org/2005/08/addressing/fault</wsa:Action>
      </soapenv:Header>
      <soapenv:Body>
      <soapenv:Fault>
      <soapenv:Code>
      <soapenv:Value>
      soapenv:Sender
      </soapenv:Value>
      <soapenv:Subcode>
      <soapenv:Value
      xmlns:wsa="http://www.w3.org/2005/08/addressing">
      wsa:InvalidAddressingHeader
      </soapenv:Value>
      <soapenv:Subcode>
      <soapenv:Value
      xmlns:wsa="http://www.w3.org/2005/08/addressing">
      wsa:ActionMismatch
      </soapenv:Value>
      </soapenv:Subcode>
      </soapenv:Subcode>
      </soapenv:Code>
      <soapenv:Reason>
      <soapenv:Text xml:lang="en-US">
      Aheader representing a Message Addressing Property is not
      valid and the message cannot be processed
      </soapenv:Text>
      </soapenv:Reason>
      <soapenv:Detail>
      <wsa:ProblemHeaderQName
      xmlns:wsa="http://www.w3.org/2005/08/addressing">
      wsa:Action
      </wsa:ProblemHeaderQName>
      </soapenv:Detail>
      </soapenv:Fault>
      </soapenv:Body>
      </soapenv:Envelope>

      If I remove WS-A headers from the SOAP envelope then action/start-info order works, while start-info/action mode results in

      HTTP/1.1 500 The endpoint reference (EPR) for the Operation not found is 10.125.133.56/axis2/services/Version.VersionHttpSoap12Endpoint/ and the WSA Action = \"urn:getVersion\""

      So it looks like axis2 does pay attention to action parameter in start-info, but does not parse it correctly.

      Attachments

        Activity

          People

            veithen Andreas Veithen
            ushakov Valery Ushakov
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: