You are viewing a plain text version of this content. The canonical link for it is here.
Posted to j-users@xalan.apache.org by Fr...@eFunds.com on 2002/02/19 11:10:38 UTC

clues about classLoader problems

Hello there.

I am in the process of moving an application developped on the beta version
of Websphere Studio Application Developper to the new release version.

My application makes heavy use of Xalan 2.1.0  and xerces 1.4.3, used to
work fine in the beta version of WSAD, but doesn't in the release version.

The failure occurs when I use the TransformerFactory to get a Transformer.
Depending on the tweaking I perform on WSAD myriad of settings, I get
either :

java.lang.ClassCastException: org.apache.xalan.processor.TransformerFactoryImpl
     at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:148)
     at com.eFunds.portal.api.XSL.newTransformer(XSL.java:106)
     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)

or

java.lang.LinkageError : 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:108)
    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

Now the second one points to a ClassLoader problem of some sort, probably due because WSAD uses XML code to load J2EE modules.

Guys on the WSAD user list also said that java.lang.LinkageError could be due to Xalan/xerces using JINI, but I really don't think that's the case.

Unless there is a genius among you, I doubt you can give me a straight answer to my problem, but I would really appreciate any ideas/clues you could
provide me on how to investigate this problem.

Thanks.

PS : Here is a bit more data.

1) read http://www7b.boulder.ibm.com/wsdd/library/techarticles/0112_deboer/deboer.html to know about J2EE and websphere classLoaders.
2) both my WEB module and my EJB module access Xalan/Xerces through utility classes (com.eFunds.portal.api.XSL) that are contained in a
    jar file that is in the root of the EAR.  xalan.jar and xerces.jar are also in the root of the EAR.




RE: clues about classLoader problems

Posted by Gary L Peskin <ga...@firstech.com>.
Frank --

When you say that you're running this inside WSAD, I presume you mean
that you're using the WebSphere 4.0 Test Environment (WTE) within WSAD.
Is this correct?

If so, what is the version of WAS that you are using for the WTE?  It
should appear on the console view right after starting your WTE and it
should look like:

*** Starting the server ***
IBM WebSphere Application Server, Release 4.0.2
Advanced Single Server Edition for Multiplatforms

Assuming that is the case, what classloader mode are you using?  To
determine that, open your Server Configuration and look at the "Module
Visibility" combo box.  It should read "APPLICATION".

Please let us know about these settings.

Gary

> -----Original Message-----
> From: Franck_Schmidlin@eFunds.com 
> [mailto:Franck_Schmidlin@eFunds.com] 
> Sent: Tuesday, February 19, 2002 2:11 AM
> To: xalan-j-users@xml.apache.org
> Subject: clues about classLoader problems
> 
> 
> Hello there.
> 
> I am in the process of moving an application developped on 
> the beta version of Websphere Studio Application Developper 
> to the new release version.
> 
> My application makes heavy use of Xalan 2.1.0  and xerces 
> 1.4.3, used to work fine in the beta version of WSAD, but 
> doesn't in the release version.
> 
> The failure occurs when I use the TransformerFactory to get a 
> Transformer. Depending on the tweaking I perform on WSAD 
> myriad of settings, I get either :
> 
> java.lang.ClassCastException: 
> org.apache.xalan.processor.TransformerFactoryImpl
>      at 
> javax.xml.transform.TransformerFactory.newInstance(Transformer
> Factory.java:148)
>      at com.eFunds.portal.api.XSL.newTransformer(XSL.java:106)
>      at com.eFunds.portal.logic.Style.<init>(Style.java:25)
>      at 
> com.eFunds.portal.logic.ServiceImpl.getResultAsNode(ServiceImp
> l.java:261)
>      at 
> com.eFunds.portal.logic.SubscriberImpl.pollServices(Subscriber
> Impl.java:190)
>      at 
> com.eFunds.portal.logic.HomePage.generateNewDOM(HomePage.java:195)
>      at 
> com.eFunds.portal.web.AdvancedPortalServlet.doGet(AdvancedPort
> alServlet.java:46)
> 
> or
> 
> java.lang.LinkageError : 
> org/apache/xalan/processor/TransformerFactoryImpl violates 
> loader constraints
>     at 
> org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
> Handler(TransformerFactoryImpl.java:451)
>     at 
> org.apache.xalan.processor.TransformerFactoryImpl.newTemplates
> (TransformerFactoryImpl.java:762)
>     at 
> org.apache.xalan.processor.TransformerFactoryImpl.newTransform
> er(TransformerFactoryImpl.java:687)
>     at com.eFunds.portal.api.XSL.newTransformer(XSL.java:108)
>     at com.eFunds.portal.logic.Style.<init>(Style.java:25)
>     at 
> com.eFunds.portal.logic.ServiceImpl.getResultAsNode(ServiceImp
> l.java:261)
>     at 
> com.eFunds.portal.logic.SubscriberImpl.pollServices(Subscriber
> Impl.java:190)
>     at 
> com.eFunds.portal.logic.HomePage.generateNewDOM(HomePage.java:195)
>     at com.eFunds.portal.web.AdvancedPortalServlet.doGet
> 
> Now the second one points to a ClassLoader problem of some 
> sort, probably due because WSAD uses XML code to load J2EE modules.
> 
> Guys on the WSAD user list also said that 
> java.lang.LinkageError could be due to Xalan/xerces using 
> JINI, but I really don't think that's the case.
> 
> Unless there is a genius among you, I doubt you can give me a 
> straight answer to my problem, but I would really appreciate 
> any ideas/clues you could provide me on how to investigate 
> this problem.
> 
> Thanks.
> 
> PS : Here is a bit more data.
> 
> 1) read 
> http://www7b.boulder.ibm.com/wsdd/library/techarticles/0112_de
boer/deboer.html to know about J2EE and websphere classLoaders.
2) both my WEB module and my EJB module access Xalan/Xerces through
utility classes (com.eFunds.portal.api.XSL) that are contained in a
    jar file that is in the root of the EAR.  xalan.jar and xerces.jar
are also in the root of the EAR.