Has anybody faced this issue before? ________________________________
From: Liu, Xiao-Tao (Allen, HPIT-GADSC) Sent: 2007年4月18日 18:46 To: '[email protected]' Subject: The signature verification failed in Axis2 with Rampart Hi, I am taking use of Axis2 to build a client to access a .net ws with X509 certificate signature. All the steps are fine except when I receive the response from .net, the signature verification always failed. Warning: Verification failed for URI "#Id-c59b2f2c-9d10-4107-bea9-e8eb690dd67d" Exception in thread "main" org.apache.axis2.AxisFault: WSDoAllReceiver: security processing failed; nested exception is: org.apache.ws.security.WSSecurityException: The signature verification failed at org.apache.rampart.handler.WSDoAllReceiver.processBasic(WSDoAllReceiver.java:259) at org.apache.rampart.handler.WSDoAllReceiver.processMessage(WSDoAllReceiver.java:91) at org.apache.rampart.handler.WSDoAllHandler.invoke(WSDoAllHandler.java:74) at org.apache.axis2.engine.Phase.invoke(Phase.java:382) at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:522) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:487) at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:276) at org.apache.axis2.description.OutInAxisOperationClient.execute(OutInAxisOperation.java:202) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:579) at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:508) at ws.axis2.DotNetWSRClient.main(DotNetWSRClient.java:45) Caused by: org.apache.ws.security.WSSecurityException: The signature verification failed at org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:332) at org.apache.ws.security.processor.SignatureProcessor.handleToken(SignatureProcessor.java:79) at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:279) at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:201) at org.apache.rampart.handler.WSDoAllReceiver.processBasic(WSDoAllReceiver.java:256) ... 10 more I am suspecting that's probably caused by some PrettyXML or NamespacePrefixOptimization mechanism when Axis modified the response body with new lines/breaks/spaces to let it looks better. And I found there was some specific parameter in Axis configuration for Axis1: <globalConfiguration> <!-- MUST turn off pretty printing otherwise signature verification fails --> <parameter name="enableNamespacePrefixOptimization" value="false"/> <parameter name="disablePrettyXML" value="true"/> </globalConfiguration> But I didn't find there is corresponding parameters in Axis2. Has somebody faced the same problem? I have been struggling with it for over 2 days... Thanks, Allen
