Bug 40360

Summary: AxisSigner.java doesn't work out of the box
Product: Security - Now in JIRA Reporter: Jean-Luc Cooke <jlcooke.apache_xmlsec>
Component: SignatureAssignee: XML Security Developers Mailing List <security-dev>
Status: NEEDINFO ---    
Severity: normal    
Priority: P2    
Version: Java 1.3   
Target Milestone: ---   
Hardware: PC   
OS: Linux   

Description Jean-Luc Cooke 2006-08-30 14:22:37 UTC
java -version:
java version "1.5.0_06"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)
Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)

Compile Command:
javac -cp
src_samples:libs/commons-logging-api.jar:libs/commons-logging.jar:libs/serializer.jar:libs/xalan.jar:libs/xercesImpl.jar:libs/xmlsec-1.3.0.jar:libs/xmlsecSamples-1.3.0.jar:libs/xmlsecTests-1.3.0.jar
src_samples/org/apache/xml/security/samples/AxisSigner.java

Run Command:
java -cp
src_samples:libs/commons-logging-api.jar:libs/commons-logging.jar:libs/serializer.jar:libs/xalan.jar:libs/xercesImpl.jar:libs/xmlsec-1.3.0.jar:libs/xmlsecSamples-1.3.0.jar:libs/xmlsecTests-1.3.0.jar
org.apache.xml.security.samples.AxisSigner

Output:
Exception in thread "main"
org.apache.xml.security.signature.XMLSignatureException: Cannot resolve element
with ID Body
Original Exception was
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot resolve
element with ID Body
        at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
        at org.apache.xml.security.samples.AxisSigner.main(AxisSigner.java:138)
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot resolve
element with ID Body
        at org.apache.xml.security.signature.Reference.calculateDigest(Unknown
Source)
        at
org.apache.xml.security.signature.Reference.generateDigestValue(Unknown Source)
        at
org.apache.xml.security.signature.Manifest.generateDigestValues(Unknown Source)
        at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
        at org.apache.xml.security.samples.AxisSigner.main(AxisSigner.java:138)
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot resolve
element with ID Body
        at
org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Unknown
Source)
        at org.apache.xml.security.signature.Reference.calculateDigest(Unknown
Source)
        at
org.apache.xml.security.signature.Reference.generateDigestValue(Unknown Source)
        at
org.apache.xml.security.signature.Manifest.generateDigestValues(Unknown Source)
        at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
        at org.apache.xml.security.samples.AxisSigner.main(AxisSigner.java:138)
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot
resolve element with ID Body
Original Exception was
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot resolve
element with ID Body
        at
org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Unknown
Source)
        at
org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Unknown
Source)
        at org.apache.xml.security.signature.Reference.calculateDigest(Unknown
Source)
        at
org.apache.xml.security.signature.Reference.generateDigestValue(Unknown Source)
        at
org.apache.xml.security.signature.Manifest.generateDigestValues(Unknown Source)
        at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
        at org.apache.xml.security.samples.AxisSigner.main(AxisSigner.java:138)
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot resolve
element with ID Body
        at
org.apache.xml.security.utils.resolver.implementations.ResolverFragment.engineResolve(Unknown
Source)
        at
org.apache.xml.security.utils.resolver.ResourceResolver.resolve(Unknown Source)
        at
org.apache.xml.security.signature.Reference.getContentsBeforeTransformation(Unknown
Source)
        at
org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms(Unknown
Source)
        at org.apache.xml.security.signature.Reference.calculateDigest(Unknown
Source)
        at
org.apache.xml.security.signature.Reference.generateDigestValue(Unknown Source)
        at
org.apache.xml.security.signature.Manifest.generateDigestValues(Unknown Source)
        at org.apache.xml.security.signature.XMLSignature.sign(Unknown Source)
        at org.apache.xml.security.samples.AxisSigner.main(AxisSigner.java:138)
Comment 1 Raul Benito 2006-09-03 18:31:07 UTC
Fixed in SVN head. I have also do some test cases, so the hopefully the problem
will not appear more.

Anyway I will not recommend to not let the library search for the element to
use. It is slow and not much secure. Instead use Element.setIdAttribute methods
and schema with id attributes so the Xml Security library can use
Document.getElementById method.

Thanks for reporting it.
Comment 2 sean.mullan 2007-09-19 12:15:59 UTC
Closing old bugs. Fixed in 1.4.1
Comment 3 Prashant 2008-01-11 00:01:26 UTC
Hi,

I am getting same exception in version 1.4.1 with java 1.4.1_02

Trace is :

org.apache.xml.security.signature.XMLSignatureException: Cannot resolve 
element with ID Body
Original Exception was 
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot 
resolve element with ID Body
	at org.apache.xml.security.signature.XMLSignature.sign
(XMLSignature.java:514)
	at 
com.vivotech.vivogate.webservice.ViVOGatewayViVOGatewaySOAP11PortStub.processRe
quest(ViVOGatewayViVOGatewaySOAP11PortStub.java:208)
	at com.vivotech.vivogate.webservice.client.TestClient.main
(TestClient.java:47)
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot 
resolve element with ID Body
	at org.apache.xml.security.signature.Reference.calculateDigest
(Reference.java:697)
	at org.apache.xml.security.signature.Reference.generateDigestValue
(Reference.java:364)
	at org.apache.xml.security.signature.Manifest.generateDigestValues
(Manifest.java:180)
	at org.apache.xml.security.signature.XMLSignature.sign
(XMLSignature.java:492)
	at 
com.vivotech.vivogate.webservice.ViVOGatewayViVOGatewaySOAP11PortStub.processRe
quest(ViVOGatewayViVOGatewaySOAP11PortStub.java:208)
	at com.vivotech.vivogate.webservice.client.TestClient.main
(TestClient.java:47)
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot 
resolve element with ID Body
	at 
org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms
(Reference.java:628)
	at org.apache.xml.security.signature.Reference.calculateDigest
(Reference.java:689)
	at org.apache.xml.security.signature.Reference.generateDigestValue
(Reference.java:364)
	at org.apache.xml.security.signature.Manifest.generateDigestValues
(Manifest.java:180)
	at org.apache.xml.security.signature.XMLSignature.sign
(XMLSignature.java:492)
	at 
com.vivotech.vivogate.webservice.ViVOGatewayViVOGatewaySOAP11PortStub.processRe
quest(ViVOGatewayViVOGatewaySOAP11PortStub.java:208)
	at com.vivotech.vivogate.webservice.client.TestClient.main
(TestClient.java:47)
org.apache.xml.security.signature.ReferenceNotInitializedException: Cannot 
resolve element with ID Body
Original Exception was 
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot 
resolve element with ID Body
	at 
org.apache.xml.security.signature.Reference.getContentsBeforeTransformation
(Reference.java:405)
	at 
org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms
(Reference.java:612)
	at org.apache.xml.security.signature.Reference.calculateDigest
(Reference.java:689)
	at org.apache.xml.security.signature.Reference.generateDigestValue
(Reference.java:364)
	at org.apache.xml.security.signature.Manifest.generateDigestValues
(Manifest.java:180)
	at org.apache.xml.security.signature.XMLSignature.sign
(XMLSignature.java:492)
	at 
com.vivotech.vivogate.webservice.ViVOGatewayViVOGatewaySOAP11PortStub.processRe
quest(ViVOGatewayViVOGatewaySOAP11PortStub.java:208)
	at com.vivotech.vivogate.webservice.client.TestClient.main
(TestClient.java:47)
org.apache.xml.security.utils.resolver.ResourceResolverException: Cannot 
resolve element with ID Body
	at 
org.apache.xml.security.utils.resolver.implementations.ResolverFragment.engineR
esolve(ResolverFragment.java:92)
	at org.apache.xml.security.utils.resolver.ResourceResolver.resolve
(ResourceResolver.java:259)
	at 
org.apache.xml.security.signature.Reference.getContentsBeforeTransformation
(Reference.java:400)
	at 
org.apache.xml.security.signature.Reference.dereferenceURIandPerformTransforms
(Reference.java:612)
	at org.apache.xml.security.signature.Reference.calculateDigest
(Reference.java:689)
	at org.apache.xml.security.signature.Reference.generateDigestValue
(Reference.java:364)
	at org.apache.xml.security.signature.Manifest.generateDigestValues
(Manifest.java:180)
	at org.apache.xml.security.signature.XMLSignature.sign
(XMLSignature.java:492)
	at 
com.vivotech.vivogate.webservice.ViVOGatewayViVOGatewaySOAP11PortStub.processRe
quest(ViVOGatewayViVOGatewaySOAP11PortStub.java:208)
	at com.vivotech.vivogate.webservice.client.TestClient.main
(TestClient.java:47)
Comment 4 sean.mullan 2008-02-04 12:59:51 UTC
Please attach a test case.