Skip to Content.
Sympa Menu

shibboleth-dev - RE: documenting endorsement for shib 1.3

Subject: Shibboleth Developers

List archive

RE: documenting endorsement for shib 1.3


Chronological Thread 
  • From: "Howard Gilbert" <>
  • To: "'Shibboleth Developers'" <>
  • Subject: RE: documenting endorsement for shib 1.3
  • Date: Thu, 21 Jul 2005 13:41:29 -0400

I believe that this describes the situation more completely:

1) If you are running JDK 1.4 then you have to put some JAR files in
/endorsed because the names of the XML Parser classes in the rt.jar standard
runtime library duplicate the fully qualified package.class names of Apache
libraries. Because the Apache names are "hidden" by an enforced search
order, the only way they can be found is to force them to the front with
"endorsed"

2) If you are running JDK 1.5, then the built-in XML class names are
different from the Apache names, so both can coexist within the same
Classpath. In this configuration, you can put the new Xerces libraries just
in the /WEB-INF/lib directory. However, you must configure the JAXP factory
interface to use the Apache Xerces implementation classes and not its own
built-in implementation. This is most commonly done by setting the
javax.xml.parsers.DocumentBuilderFactory property to the value
"org.apache.xerces.jaxp.DocumentBuilderFactoryImpl" (there is also a
parameter for transform that may or may not need to be changed; it would be
worth testing first).

The standard built-in Sun libraries contain the configurable JAXP factory
interface. The Apache Xerces 2.7.0 libraries also contain an implementation
of the same interface. Obviously, if you endorse the Apache libraries and
the Apache implementation of the JAXP front-end overrides the Sun
implementation of the same interface, then the default Factories will
change. In this case the Apache front end will chose the Apache Xerces
Factory by default without a change in the properties or configuration.

This now produces a documentation dilemma. One could have two entirely
different installation procedures using "endorsed" for JDK 1.4 but not for
1.5. Then it would be necessary to add code or change the configuration to
override the system property(s).

Alternately, one could specify a single installation process for both 1.4
and 1.5 that would use endorsed for both and require no further
configuration of properties. We would be doing more than is really necessary
in a 1.5 environment, but it is not clear that in practice this is anything
other than an aesthetic objection.






Archive powered by MHonArc 2.6.16.

Top of Page