For good measure, I have also added System.err.print(tf.getClass
().getClassLoader().toString()); and I now dump the exception directly, to
give a cleaner output (I guess I should have started doing all this ages
ago)
This gives some interesting results (that I don't understand) :
The first run is the call that works fine, followed by the call that fails,
and the exception
BEGIN writeEnvironmentReport($Revision: 1.3 $): Useful properties found:
----
java.version=1.3.0
version.JAXP=1.1
java.ext.dirs=D:\WSAD\plugins\com.ibm.etools.server.jdk\jre\lib\ext
version.crimson=not-present
java.class.path=D:/WSAD/plugins/com.ibm.etools.websphere.runtime/properties;D:/WSAD/plugins/com.ibm.etools.websphere.runtime/lib/bootstrap.jar;D:/WSAD/plugins/com.ibm.etools.websphere.tools/runtime/wteServers.jar;D:/WSAD/plugins/com.ibm.etools.websphere.tools/runtime/wasTools.jar
version.xerces=Xerces 1.4.3
sun.boot.class.path=e:
\WebSphere-AEs\AppServer\java\jre\lib\extfix\ibmfix.jar;e:
\WebSphere-AEs\AppServer\java\jre\lib\ext\ibmorb.jar;D:
\WSAD\plugins\com.ibm.etools.server.jdk\jre\lib\rt.jar;D:
\WSAD\plugins\com.ibm.etools.server.jdk\jre\lib\i18n.jar;D:
\WSAD\plugins\com.ibm.etools.server.jdk\jre\classes
version.DOM.draftlevel=2.0fd
version.xalan2=Xalan;Java;2.1.0;
version.DOM=2.0
version.xalan1=not-present
#----- END writeEnvironmentReport: Useful properties found: -----
# YAHOO! Your environment seems to be OK.
[EMAIL PROTECTED]
[02.02.19 16:42:52:263 GMT] 40437f1d WebGroup I SRVE0091I: [Servlet
LOG]: AdvancedPortalServlet: init
#---- BEGIN writeEnvironmentReport($Revision: 1.3 $): Useful properties
found: ----
java.version=1.3.0
version.JAXP=1.1
java.ext.dirs=D:\WSAD\plugins\com.ibm.etools.server.jdk\jre\lib\ext
version.crimson=not-present
java.class.path=D:/WSAD/plugins/com.ibm.etools.websphere.runtime/properties;D:/WSAD/plugins/com.ibm.etools.websphere.runtime/lib/bootstrap.jar;D:/WSAD/plugins/com.ibm.etools.websphere.tools/runtime/wteServers.jar;D:/WSAD/plugins/com.ibm.etools.websphere.tools/runtime/wasTools.jar
version.xerces=Xerces 1.4.3
sun.boot.class.path=e:
\WebSphere-AEs\AppServer\java\jre\lib\extfix\ibmfix.jar;e:
\WebSphere-AEs\AppServer\java\jre\lib\ext\ibmorb.jar;D:
\WSAD\plugins\com.ibm.etools.server.jdk\jre\lib\rt.jar;D:
\WSAD\plugins\com.ibm.etools.server.jdk\jre\lib\i18n.jar;D:
\WSAD\plugins\com.ibm.etools.server.jdk\jre\classes
version.DOM.draftlevel=2.0fd
version.xalan2=Xalan;Java;2.1.0;
version.DOM=2.0
version.xalan1=not-present
#----- END writeEnvironmentReport: Useful properties found: -----
# YAHOO! Your environment seems to be OK.
[EMAIL PROTECTED]
Local ClassPath: E:\WSAD_iNAP\JavaPrototypeEAR\xalan.jar;
Traversed ClassPath: E:\WSAD_iNAP\JavaPrototypeEJB\bin;E:
\WSAD_iNAP\JavaPrototypeEAR\xalan.jar;E:
\WSAD_iNAP\JavaPrototypeEAR\xerces.jar;E:\WSAD_iNAP\ArchitectEJB\bin;E:
\WSAD_iNAP\JavaPrototypeWeb\webApplication\WEB-INF\classes;E:
\WSAD_iNAP\JavaPrototypeWeb\webApplication;
Delegation Mode: true
ClassLoaderGroup: [EMAIL PROTECTED]
java.lang.LinkageError: Class
org/apache/xalan/processor/TransformerFactoryImpl violates loader
constraints
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplatesHandler(TransformerFactoryImpl.java:451)
at
org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:762)
at
org.apache.xalan.processor.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:687)
at com.eFunds.portal.api.XSL.newTransformer(XSL.java:120)
at com.eFunds.portal.logic.Style.<init>(Style.java:25)
at
com.eFunds.portal.logic.ServiceImpl.getResultAsNode(ServiceImpl.java:261)
at
com.eFunds.portal.logic.SubscriberImpl.pollServices(SubscriberImpl.java:190)
at com.eFunds.portal.logic.HomePage.generateNewDOM(HomePage.java:195)
at
com.eFunds.portal.web.AdvancedPortalServlet.doGet(AdvancedPortalServlet.java:46)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827)
at com.ibm.servlet.engine.webapp.StrictLifecycleServlet.
_service(StrictLifecycleServlet.java:159)
at
com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:286)
at
com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:106)
at
com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)
at
com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
at
com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:499)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:278)
at
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:105)
at
com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:67)
at
com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:123)
at
com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
at
com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:122)
at
com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315)
at
com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)
at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:313)
at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:242)
at com.ibm.ws.util.CachedThread.run(ThreadPool.java:122)
-------------------------------------------------------------------------------------------
Evidently the call that fails is going through a separate classLoader... Is
there any way I can recurse the classLoader hierarchy to see where they
branched?
Can you suggest smart questions I could asks the guys on the WSAD mailing
list?
Thanks for the attention, I feel loved ;-P