Thanks for following up Ruchith, really appreciated. I look forward to this
fix - will this appear in the latest builds, or will it only appear in the
next "release" build.

Best,
Tim.
-----Original Message-----
From: Ruchith Fernando [mailto:[EMAIL PROTECTED] 
Sent: Monday, 29 October 2007 10:53 AM
To: axis-dev@ws.apache.org
Cc: [EMAIL PROTECTED]
Subject: Re: [Axis2] Secured Axis2-1.3 Client "Masks" Returned Fault
Messages

Hi,

This is an issue in Rampart because it doesn't processes the security header
of fault messages.

https://issues.apache.org/jira/browse/RAMPART-90

This will be fixed in the next release of Apache Rampart.

Thanks,
Ruchith

On 10/12/07, Tim Munro (myDIALS) <[EMAIL PROTECTED]> wrote:
> Hi All,
>
> I have developed an Axis2-1.3 client (with Rampart 1.3, using an 
> xmlbeans
> proxy) that calls methods on a secured .NET web service service. I can 
> successfully communicate with the .NET service, however when the .NET 
> server returns a valid fault message the xmlbeans proxy client never 
> receives the returned fault string; instead all the client receives is 
> the following
> message:
> Must Understand check failed for header 
>
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.
> 0.xsd : Security
>
> Note that in Axis2-1.2 this was not a problem; my xmlbeans proxy 
> received the correct/expected error string.
>
> So, for example, if I call a method on the .NET web service with an 
> invalid parameter in the request document, the .NET web service 
> returns an informative message containing details of the problem. 
> Below is an example of the xml response message received from the .NET 
> server, and to me it appears to be a valid response:
> <?xml version='1.0' encoding='utf-8'?> <s:Envelope 
> xmlns:s="http://schemas.xmlsoap.org/soap/envelope/";
> xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
> urity-
> utility-1.0.xsd">
>         <s:Header>
>                 <o:Security
> xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssec
> urity-
> secext-1.0.xsd" s:mustUnderstand="1">
>                         <u:Timestamp u:Id="_0">
>
> <u:Created>2007-10-12T01:02:16.796Z</u:Created>
>
> <u:Expires>2007-10-12T01:07:16.796Z</u:Expires>
>                         </u:Timestamp>
>                 </o:Security>
>         </s:Header>
>         <s:Body>
>                 <s:Fault>
>                         <faultcode>s:UnexpectedFault</faultcode>
>                         <faultstring xml:lang="en-US">An unexpected 
> error has occurred in the service.
> System.ServiceModel.FaultException`1[MyDials.Common.ServiceFaults.Inva
> lidReq
> uestFault]: The dimension member 'Midlands' was included in a 
> dimension reference for the 'Products' dimension, but is not valid. 
> (Fault Detail is equal to
MyDials.Common.ServiceFaults.InvalidRequestFault).</faultstring>
>                 </s:Fault>
>         </s:Body>
> </s:Envelope>
>
> When I interact with this returned message (through the xmlbeans 
> proxy), the error message I see is the "Must Understand check failed for
header ..."
> rather than the value contained in the faultstring elemrnt of the 
> returned document.
>
> The issue appears to be that the received message header contains a 
> (valid) timestamp, as indicated above, however the Axis2 response 
> handler never seems to to process this timestamp in the header, 
> meaning that when the
> AxisEngine.checkMustUnderstand() performs the 
> headerBlock.isProcessed() test, the result is false and so the "Must
understand check failed ..."
> exception is thrown and my xmlbeans proxy never sees the real 
> faultstring message.
>
> I am struggling to understand what is going wrong here ... any 
> guidance on what to fault-find next would be greatly appreciated as 
> after a few days looking at this I am unsure if it is a problem in 
> returned document, or my policy.xml.
>
> Thanks,
> Tim Munro
> ===================
>
> Below is my policy.xml document:
> <?xml version="1.0" encoding="UTF-8"?> <wsp:Policy wsu:Id="SigOnly"
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wss
> ecurit y-utility-1.0.xsd" 
> xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";>
>         <wsp:ExactlyOne>
>                 <wsp:All>
>                         <sp:TransportBinding 
> xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
>                                 <wsp:Policy>
>                                         <sp:TransportToken>
>                                                 <wsp:Policy>
>                                                         <sp:HttpsToken 
> RequireClientCertificate="false"/>
>                                                 </wsp:Policy>
>                                         </sp:TransportToken>
>                                         <sp:AlgorithmSuite>
>                                                 <wsp:Policy>
>                                                         <sp:Basic256/>
>                                                 </wsp:Policy>
>                                         </sp:AlgorithmSuite>
>                                         <sp:Layout>
>                                                 <wsp:Policy>
>                                                         <sp:Lax/>
>                                                 </wsp:Policy>
>                                         </sp:Layout>
>                                         <sp:IncludeTimestamp/>
>                                 </wsp:Policy>
>                         </sp:TransportBinding>
>                         <sp:EndorsingSupportingTokens 
> xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
>                                 <wsp:Policy>
>                                         <sp:X509Token 
> sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/
> Includ
> eToken/AlwaysToRecipient">
>                                                 <wsp:Policy>
>
> <sp:WssX509V3Token10/>
>                                                 </wsp:Policy>
>                                         </sp:X509Token>
>                                 </wsp:Policy>
>                         </sp:EndorsingSupportingTokens>
>                         <sp:Wss10
> xmlns:sp="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy";>
>                                 <wsp:Policy>
>                                         <sp:MustSupportRefKeyIdentifier/>
>                                         <sp:MustSupportRefIssuerSerial/>
>                                 </wsp:Policy>
>                         </sp:Wss10>
>
>                         <ramp:RampartConfig 
> xmlns:ramp="http://ws.apache.org/rampart/policy";>
>                                 
> <ramp:timestampTTL>300</ramp:timestampTTL>
>
> <ramp:timestampMaxSkew>300</ramp:timestampMaxSkew>
>
> <ramp:user>cc40b01503ff1f5ededf6d07c3a3c56c_81ea973b-e847-4bba-abc9-e6
> e69109
> 3f9d</ramp:user>
>                                 <!-- passwordCallbackClass is set in 
> mydials config -->
>                                 <!--
> <ramp:passwordCallbackClass>com.mydials.wshelper.PWCBHandler</ramp:pas
> swordC
> allbackClass> -->
>
>                                 <ramp:signatureCrypto>
>                                         <ramp:crypto 
> provider="org.apache.ws.security.components.crypto.Merlin">
>                                                 <ramp:property 
> name="org.apache.ws.security.crypto.merlin.keystore.type">pkcs12</ramp
> :prope
> rty>
>                                                 <ramp:property 
> name="org.apache.ws.security.crypto.merlin.file">MyDialsCert.pfx</ramp
> :prope
> rty>
>                                                 <ramp:property 
> name="org.apache.ws.security.crypto.merlin.keystore.password"></ramp:p
> ropert
> y>
>                                         </ramp:crypto>
>                                 </ramp:signatureCrypto>
>                         </ramp:RampartConfig>
>
>                 </wsp:All>
>         </wsp:ExactlyOne>
> </wsp:Policy>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
http://blog.ruchith.org
http://wso2.org

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



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

Reply via email to