You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Benjamin O'Steen <Be...@sers.ox.ac.uk> on 2008/01/28 15:28:57 UTC

Solr+XSLT output problem; trying to use "wt=xslt" fails with a NoClassDefFoundError

URL query:
http://orasupport.ouls.ox.ac.uk:8080/solr/select/?q=bishop&wt=xslt&tr=at
om.xsl

Solr home is located at /home/bugz/solr and tomcat home is at
/home/bugz/fedora/tomcat. The solr home is set in the CATALINA_OPTS
environment var. Note that other search types work fine - removing wt,
or changing the 'xslt' for python, ruby or json will result in a
successful response.

Error: type Status report

message null java.lang.NoClassDefFoundError at
org.apache.solr.request.XSLTResponseWriter.getTransformer(XSLTResponseWr
iter.java:115) at
org.apache.solr.request.XSLTResponseWriter.getContentType(XSLTResponseWr
iter.java:64) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j
ava:167) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:462) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683) at java.lang.Thread.run(Thread.java:595)

description The server encountered an internal error (null
java.lang.NoClassDefFoundError at
org.apache.solr.request.XSLTResponseWriter.getTransformer(XSLTResponseWr
iter.java:115) at
org.apache.solr.request.XSLTResponseWriter.getContentType(XSLTResponseWr
iter.java:64) at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.j
ava:167) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applica
tionFilterChain.java:186) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilt
erChain.java:157) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValv
e.java:214) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardCon
textValve.java:198) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValv
e.java:152) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticator
Base.java:462) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java
:137) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java
:118) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:102) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
java:109) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveCo
ntext.java:104) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:5
20) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:79
9) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processC
onnection(Http11Protocol.java:705) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:57
7) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool
.java:683) at java.lang.Thread.run(Thread.java:595) ) that prevented it
from fulfilling this request.


Any clues? (atom.xsl lives in $SOLR_HOME/conf/xslt)

Ben

Re: Solr+XSLT output problem; trying to use "wt=xslt" fails with a NoClassDefFoundError

Posted by Chris Hostetter <ho...@fucit.org>.
: Error: type Status report
: 
: message null java.lang.NoClassDefFoundError at
: org.apache.solr.request.XSLTResponseWriter.getTransformer(XSLTResponseWr
: iter.java:115) at

This is pretty puzzling ... my best guess is that either:
  1) something about your tomcat setup is causing the javax.xml.* classes 
     to not be available at runtime.
  2) the TransformerFactory that your JVM wants to use (as specified by 
     the "javax.xml.transform.TransformerFactory" system property) can't 
     be loaded ... i think that would also trigger a NoClassDefFoundError 
     but i'm not positive.

...with your current tomcat setup, can you write a simple little JSP that 
uses TransformerFactory to do an XSLT transform?  (if not: then you have a 
simplified, non-solr, test case to troubleshoot -- maybe with help from a 
Tomcat expert)


-Hoss