Skip to Content.
Sympa Menu

mace-opensaml-users - Re: Xerces 2.8.1 and Xalan 2.7.0 with OpenSAML 1.1

Subject: OpenSAML user discussion

List archive

Re: Xerces 2.8.1 and Xalan 2.7.0 with OpenSAML 1.1


Chronological Thread 
  • From: Chad La Joie <>
  • To:
  • Subject: Re: Xerces 2.8.1 and Xalan 2.7.0 with OpenSAML 1.1
  • Date: Tue, 31 Jul 2007 18:16:42 -0400
  • Organization: OIS - Middleware

Some people, incorrectly, will endorse Xerces/Xalan *and* include these files in their WAR. This actually works fine as long as you endorse the same version of the jars in the WAR, if not you can get into the case where some classes are loaded from either the endorsed jars or the WAR jars (and thus have one set of dependencies) and some are loaded from the other. The most common error you get from that is the NoClassDef or NoMethodDef errors.

Can you verify that if you are including Xerces and Xalan in your application that you are including the versions that are endorsed?

Douglas Squirrel wrote:
OpenSAML friends,

First, thank you for providing OpenSAML which my firm have been using
for several years with great success and no problems.

We run OpenSAML as part of our web application on a Tomcat 5.5 web
server with Xerces 2.5.0 and Xalan 2.4.1 installed as endorsed
libraries. This has worked very well.

We would now like to change the Xerces and Xalan versions, to Xerces
2.8.1 and Xalan 2.7.0. This works for all our other libraries but when
we call SAMLPostProfile.accept() to process a request, we get an
exception and the request fails:
java.lang.NoClassDefFoundError: org/apache/xpath/compiler/FuncLoader
at org.opensaml.SAMLConfig.<init>(Unknown Source)
at org.opensaml.SAMLConfig.instance(Unknown Source)
at org.opensaml.SAMLObject.<init>(Unknown Source)
at org.opensaml.SAMLSignedObject.<init>(Unknown Source)
at org.opensaml.SAMLResponse.<init>(Unknown Source)
at org.opensaml.SAMLPOSTProfile.accept(Unknown Source)
[...call stack in our own code here]

I inserted System.out.println() statements in SAMLConfig.java and
rebuilt opensaml; the output showed we reach line 56 of SAMLConfig.java
but don't get any further. This line says:
org.apache.xml.security.Init.init();
What is very odd is that I can't see any reference to
org.apache.xpath.compiler.FuncLoader - in this line, or anywhere else in
SAMLConfig.java, or in the Init class of org.apache.xml.security!
I also tried replacing the versions of Xerces and Xalan in the opensaml
endorsed folder and rebuilding, as well as replacing xmlsec-20050514.jar
in the lib folder with a newer version, but nothing seemed to work.

Can any of you provide any clues? If needed I'd be happy to write (and
share) code to fix this problem and allow opensaml 1.1 to work with
newer versions of Xerces and Xalan, but I have to say I don't understand
what is wrong.

Many thanks
Douglas Squirrel
youDevise, Ltd.


______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email ______________________________________________________________________

--
Chad La Joie 2052-C Harris Bldg
OIS-Middleware 202.687.0124



Archive powered by MHonArc 2.6.16.

Top of Page