|
Home > Archive > WebSphere Application Server > January 2006 > xalan ClassCastException
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
xalan ClassCastException
|
|
|
| I am getting a ClassCastException trying to deploy an EAR (empty except for a WAR) to WAS V6.
A little history of related issues to this point...
Previously, I got a TransformerConfigurationException which was fixed by upgrading to a more recent version of xerces/xalan to xerces 2.7.1 and xalan 2.7.0.
javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: java.lang.IllegalStateException: can't declare any more prefixes in this context
Then came errors with xerces ClassCastException and commons-logging which were addressed by switching to PARENT LAST classloading for the WAR.
So now, with this latest xalan ClassCastException, another post said it might be a mismatch in xerces and xalan versions. This may be the case, because even with the 2.7.0 xalan jars in web-inf/lib dir, a different XSLT processor appears to be used inste
ad...
From the xalan faq, http://xml.apache.org/xalan-j/faq.html#faq-N100D6 it says to put these xerces and xalan jars in the jre lib/endorsed directory.
I tested without xerces/xalan jars in endorsed lib:
>java org.apache.xalan.Version
XSLT4J Java 2.6.3
With xerces/xalan jars in endorsed lib:
>java org.apache.xalan.Version
Xalan Java 2.7.0
So it seems the xalan ClassCastException is fixed with xerces and xalan jars in WebSphere's endorsed library. I had to set the WAR back to PARENT FIRST classloading or otherwise remove the xalan/xerces jars from my WAR.
Any idea how to use xalan 2.7.0 without making a global change to the JVM (lib/endorsed), which may affect other apps?
Thanks,
Steve Dickson
Error Message:
org.apache.xalan.processor.TransformerFactoryImpl
Root Cause:
java.lang.ClassCastException: org.apache.xalan.processor.TransformerFactoryImpl
at javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl._getInputStream(PageDataImpl.java:125)
at com.ibm.ws.jsp.translator.visitor.validator.PageDataImpl.getInputStream(PageDataImpl.java:117)
at org.apache.taglibs.standard.tlv.JstlBaseTLV.validate(JstlBaseTLV.java:176)
at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.validateTagLib(ValidateVisitor.java:876)
at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitJspRootStart(ValidateVisitor.java:436)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:124)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:110)
at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:121)
at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:168)
at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil. translateJspAndCompile(JspTranslatorUtil
.java:81)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.translateJsp(JSPExtensionServletWrapper.java:298)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper. checkForTranslation(JSPExtensionServletW
rapper.java:265)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper. handleRequest(JSPExtensionServletWrapper
.java:137)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:230)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:250)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274)
at org.apache.struts.tiles.TilesRequestProcessor. processTilesDefinition(TilesRequestProce
ssor.java:254)
at org.apache.struts.tiles.TilesRequestProcessor. processForwardConfig(TilesRequestProcess
or.java:309)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1212)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1173)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:92)
at org.springframework.orm.hibernate.support.OpenSessionInViewFilter. doFilterInternal(OpenSessionInViewFilter
.java:174)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:86)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.momentumsystems.livelink.dashboard.MenuFilter.doFilter(MenuFilter.java:61)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.momentumsystems.livelink.dashboard.PageInformationFilter.doFilter(PageInformationFilter.java:69)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.momentumsystems.logon.LogonFilter.doFilter(LogonFilter.java:162)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:142)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:77)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:626)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:80)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1657)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:421)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:367)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:94)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:548)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:601)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:934)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)
| |
|
| I removed all xerces and xalan jars from my WAR and retried. It is working now with inherited WAS classes.
| |
|
|
|
|
|