For the next one to fall into this trap, it's not worth it.
Move swiftly along and download Axis 1.3 and Rampart 1.3.

-----Original Message-----
From: Taariq Levack [mailto:[EMAIL PROTECTED] 
Sent: 29 September 2008 17:26
To: [email protected]
Subject: RE: I must understand the "must understand" fault

If I set a breakpoint in AxisEngine and force the SOAPHeaderBlock's 
"mustUnderstand" to "0" it works.
Obviously I don't want to change that code, I don't even understand why its 
checked on the response, is it a bug at all?

The method isReceiverMustUnderstandProcessor checks if its server side and 
returns which it's not, or if the receiver's name ends in JAXWSMessageReceiver, 
if it's not null, which it is.

I've attached the policy.xml file if that has anything to do with it.



From: Taariq Levack [mailto:[EMAIL PROTECTED] 
Sent: 29 September 2008 13:13
To: [email protected]
Subject: I must understand the "must understand" fault

Hi

The exception happens at the client side, after the request is sent, 
authenticated and response returned.
Seems to me that the Axis engine doesn't expect the security header in the 
response.
SoapUi client works, and the Oracle generated client works, surprisingly.


This is the request header, simple username token....
<soapenv:Header>
         <wsse:Security 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
 soapenv:mustUnderstand="1">
            <wsse:UsernameToken 
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
 wsu:Id="UsernameToken-3201085">
               <wsse:Username>USERNAME</wsse:Username>
               <wsse:Password 
Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText";>PASSWORD</wsse:Password>
            </wsse:UsernameToken>
         </wsse:Security>
      </soapenv:Header>

And this is the response header
<env:Header>
      <wsse:Security 
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
 
xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
 xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"; env:mustUnderstand="1"/>
   </env:Header>

Configuration....
Axis 1.4
 Rampart 1.4.
The service is deployed in an oracle container, OC4J.
The client was generated using Axis and the config is copied from the Rampart 
samples.

Exception in thread "main" org.apache.axis2.AxisFault: Must Understand check 
failed for header 
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
 : Security
      at 
org.apache.axis2.engine.AxisEngine.checkMustUnderstand(AxisEngine.java:102)
      at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:166)
      at 
org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:363)
      at 
org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:416)
      at 
org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:228)
      at 
org.apache.axis2.client.OperationClient.execute(OperationClient.java:163)
      at 
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:548)
      at 
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:528)

Thanks in advance for looking at the one millionth "must understand" error.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to