Got my mistake, i was not taking out the document object from SOAPEnvelope as env.getAsDocument(). It is signing the request now.
-----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thu 8/17/2006 3:34 PM To: [email protected] Subject: Problem in signing SOAP request Hi, I am trying to sign a SOAP request (axis) using wss4j + xmlsec libraries. Following is my client code: void addSignature(SOAPHeaderElement secHeader) { WSSecSignature secSign = new WSSecSignature(); secSign.setUserInfo("1","password"); secSign.setSignatureAlgorithm(WSConstants.RSA); secSign.setKeyIdentifierType(WSConstants.BST_DIRECT_REFERENCE); WSSecHeader wssh = new WSSecHeader(); wssh.setMustUnderstand(true); wssh.insertSecurityHeader(secHeader.getOwnerDocument()); try { secSign.build(secHeader.getOwnerDocument(),CryptoFactory.getInstance(),wssh); } catch (WSSecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } .... However, i am getting the following exception : org.apache.ws.security.WSSecurityException: Signature creation failed (Cannot setup signature data structure) at org.apache.ws.security.message.WSSecSignature.prepare(WSSecSignature.java:323) at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:643) ...(others) On debugging, i found the original exception to be: org.apache.xml.security.exceptions.XMLSecurityException: Cannot create a http://www.w3.org/2000/09/xmldsig#:ds:SignatureMethod from a http://www.w3.org/2000/09/xmldsig#:SignatureMethod element Can someone tell me where the problem is? Further, in order to do away with these errors for now i made some changes in xml-sec source (Some different method calls in a few classes). The above error went away, but now i am getting this: org.apache.ws.security.WSSecurityException: Signature creation failed; nested exception is: java.lang.NullPointerException at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:606) at org.apache.ws.security.message.WSSecSignature.build(WSSecSignature.java:668) at test.SecurityHandler.addSignature(SecurityHandler.java:131) at test.SecurityHandler.invoke(SecurityHandler.java:69) at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32) at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118) at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83) at org.apache.axis.client.AxisClient.invoke(AxisClient.java:121) at org.apache.axis.client.Call.invokeEngine(Call.java:2784) at org.apache.axis.client.Call.invoke(Call.java:2767) at org.apache.axis.client.Call.invoke(Call.java:2443) at org.apache.axis.client.Call.invoke(Call.java:2366) at org.apache.axis.client.Call.invoke(Call.java:1812) at com.bt.platform.sdk.web.messagingandpresence.MessagingAndPresenceSoapBindingStub.signon(MessagingAndPresenceSoapBindingStub.java:1893) at test.TestPresence.main(TestPresence.java:33) Caused by: java.lang.NullPointerException at org.apache.ws.security.util.WSSecurityUtil.getSOAPConstants(WSSecurityUtil.java:672) at org.apache.ws.security.message.EnvelopeIdResolver.engineResolve(EnvelopeIdResolver.java:100) at org.apache.xml.security.utils.resolver.ResourceResolver.resolve(ResourceResolver.java:246) at org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Reference.java:405) at org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Reference.java:617) at org.apache.xml.security.signature.Reference.calculateDigest(Reference.java:694) at org.apache.xml.security.signature.Reference.generateDigestValue(Reference.java:366) at org.apache.xml.security.signature.Manifest.generateDigestValues(Manifest.java:180) at org.apache.xml.security.signature.XMLSignature.sign(XMLSignature.java:491) at org.apache.ws.security.message.WSSecSignature.computeSignature(WSSecSignature.java:599) Can someone please help me out? Thanks, Rohit Ranjan. --------------------------------------------------------------------- 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]
