Hi,
I am using WSS4J for invoking a secured web service. The request XML generated 
by my client is almost the same as the sample provided by the Service Provider. 
The only difference is an additional "wsu:Id" attribute defined for 
<ds:Signature> tag. 



Here's what my code is generating:

<ds:SignatureId="Signature-22"xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>


Here's what the Service Provider is expecting

<ds:SignatureId="Signature-16906910"wsu:Id="Id-8819824"xmlns:ds="http://www.w3.org/2000/09/xmldsig#"xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";>


I suspect that due to this missing tag I am getting the exception, pasted 
below, when I am try to invoke the service. I am not able to figure out how the 
highlighted tag will get added to the XML. Is there any configuration/attribute 
that I can change while invoking the WSSecSignature.build()?

Gone through the API documentation and the code but could not find anything 
specific to this. Will appreciate any help/guidance in resolving this. 

--------------------------------------------
Caused by: java.lang.NullPointerException
at 
org.apache.ws.security.util.WSSecurityUtil.findElementById(WSSecurityUtil.java:298)
at 
org.apache.ws.security.util.WSSecurityUtil.getElementByWsuId(WSSecurityUtil.java:438)
at 
org.apache.ws.security.processor.SignatureProcessor.verifyXMLSignature(SignatureProcessor.java:297)
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.RampartEngine.process(RampartEngine.java:71)
at org.apache.rampart.handler.RampartReceiver.invoke(RampartReceiver.java:69)
at org.apache.axis2.engine.Phase.invoke(Phase.java:381)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:518)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:483)
at 
org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:319)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:247)
... 12 more
----------------------------------------------

Thanks,
Rameshwer Jangra

Reply via email to