I am trying to get an instance of the Shibboleth 2.1.2 IDP running on
Glassfish 2.1.2.
Shibboleth 2.1.2 leverages OpenSAML. OpenSAML has a check in it to not
use the Sun XML Parser and includes replacements that should be
"endorsed".
When I copy the provided Jars ( resolver*.jar, serializer*.jar,
xalan*.jar,xerces*.jar and xml-apis*.jar) into the Galssfish endorsed
directory ( -Djava.endorsed.dirs=${com.sun.aas.installRoot}/lib/endorsed)
and restart Glassfish I am able to deploy the Shibboleth IDP without
issue and it returns the correct responses.
The problem comes when I restart the Glassfish domain. stack trace in
server.log reads:
[#|2009-06-23T15:36:21.387+1000|SEVERE|sun-appserver9.1|javax.enterprise.system.container.web|_ThreadID=15;_ThreadName=pool-1-thread-6;_RequestID=e48ffbf3-0f2f-4078-ad45-2c4ec318ac40;|WebModule[/idp]PWC1275:
Exception sending context initialized event to listener instance of
class org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.BeanCreationException: Error
creating bean with name 'shibboleth.OpensamlConfig' defined in URL
[file:/Users/chrisf/Desktop/shibboleth-idp/conf/internal.xml]:
Invocation of init method failed; nested exception is java.lang.Error:
OpenSAML requires an xml parser that supports JAXP 1.3 and DOM3.
The JVM is currently configured to use the Sun XML parser, which is known
to be buggy and can not be used with OpenSAML. Please endorse a functional
JAXP library(ies) such as Xerces and Xalan. For instructions on how to endorse
a new parser see
http://java.sun.com/j2se/1.5.0/docs/guide/standards/index.html
If I redeploy the WAR file it works fin again until a restart.
This works fine on Tomcat, JBoss and Weblogic.
https://spaces.internet2.edu/display/SHIB2/IdPInstall
How can I get Glassfish to report the "endorsed" libraries so that the
OpenSPML components of the Sibboleth IDP pass their check?
Any ideas?
Thanks in advance
Andrew