You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by George Stanchev <Gs...@serena.com> on 2008/06/03 21:15:07 UTC

Rampart, Addressing & mustUndestand

Hi,
 
I have observed the following behavior with Axis2 1.3 and corresponding
Rampart and Addressing modules enganged. 
 
When a response message [1] is received that contains some WSA headers
with @mustUnderstand="1", Axis2 throws
an AxisFault [2] even though they have been processed by the Addressing
module. I dug in the code and discovered
that this is caused by Rampart - with useDoom=false, all the "processed"
members are reset to false when the
envelope is converted back to Axiom by
 
WSDoAllReceiver.java, line 237, Rampart 1.3
 msgContext.setEnvelope(Axis2Util.getSOAPEnvelopeFromDOMDocument(doc,
useDoom));
 
Setting WSSHandlerConstants.USE_DOOM property to "true" fixes the
problem however it is
not enabled by default.
 
So here are my questions:
 
1. Is this really a problem or I am doing something incorrectly
2. Why is DOOM not enabled by default
3. Is there a way to make it enabled by default, besides setting it up
on the MessageContext
4. Is there another workaround
5. If indeed its a problem, is there already JIRA about it and is it
fixed in Axis2 1.4/Rampart 1.4
 
Thanks in advance,
 
George
 
 
[1]
 
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header>
    <ns1:Action soapenv:mustUnderstand="1"
xmlns:ns1="http://www.w3.org/2005/08/addressing">http://schemas.xmlsoap.
org/ws/2005/02/trust/RSTR/Issue</ns1:Action>
    <ns2:RelatesTo soapenv:mustUnderstand="0"
xmlns:ns2="http://www.w3.org/2005/08/addressing">urn:uuid:BC22575115F9F4
68281212509302599</ns2:RelatesTo>
    <ns3:MessageID soapenv:mustUnderstand="0"
xmlns:ns3="http://www.w3.org/2005/08/addressing">urn:uuid:F59568DC50C64D
873A1212509303095</ns3:MessageID>
    <ns4:To soapenv:mustUnderstand="1"
xmlns:ns4="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/
08/addressing/anonymous</ns4:To>
    <ns5:Security soapenv:mustUnderstand="1"
xmlns:ns5="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
urity-secext-1.0.xsd">
      <ns6:Timestamp
xmlns:ns6="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
urity-utility-1.0.xsd">
        <ns6:Created>2008-06-03T16:08:23Z</ns6:Created>
        <ns6:Expires>2008-06-10T16:08:23Z</ns6:Expires>
      </ns6:Timestamp>
    </ns5:Security>
  </soapenv:Header>
  <soapenv:Body>
    {...}
  </soapenv:Body>
</soapenv:Envelope>

[2]
 
Caused by: org.apache.axis2.AxisFault: Must Understand check failed for
header http://www.w3.org/2005/08/addressing : Action
 at
org.apache.axis2.engine.AxisEngine.checkMustUnderstand(AxisEngine.java:8
6)
 at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:135)
 at
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(Out
InAxisOperation.java:336)
 at
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOper
ation.java:389)
 at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInA
xisOperation.java:211)
 at
org.apache.axis2.client.OperationClient.execute(OperationClient.java:163
)
 
Best Regards,
George
 
George Stanchev
Sr. Software Developer
Serena Software, Inc
(801) 299-9634
gstanchev@serena.com
Serena Software, Inc
<http://www.serena.com/signature/serena_corporate.gif> 
www.serena.com <http://www.serena.com/>  

**********************************************************************
This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. 
**********************************************************************