Content-Type still not parsed correctly in MTOM SOAP 1.2 messages
-----------------------------------------------------------------
Key: AXIS2-4760
URL: https://issues.apache.org/jira/browse/AXIS2-4760
Project: Axis2
Issue Type: Bug
Affects Versions: 1.5.1
Environment: axis2-1.5.1
Reporter: Valery Ushakov
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.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]