[GeoNetwork-devel] Geonetwork 2.1 Transformer error when running under Tomcat 5.5?

Fellow GN/Tomcat users,

I'm new to Geonetwork, and just installed GN 2.1. Running with Jetty works, but I need to run it under Tomcat 5.5/Java 1.5.

I did the following:

1. Added the /geonetwork context to Tomcat's server.xml
2. Copied xalan-j_2_7_0/*.jar to Tomcat's common/endorsed/
3. Restarted Tomcat

(This is based on Paul's Ubunto tutorial for GN 2.0.3 at http://geonetwork-opensource.org/documentation/how-to/installation-on-ubuntu, though since I'm using Red Hat Linux without sudo privileges, and the built-in McKoi database, it doesn't all apply to me)

The webapp loads and starts, but the home page (/geonetwork/srv/en/main.home) shows this error:

      "The requested operation could not be performed."

In the log, catalina.out, I see "Could not compile stylesheet... TransformerConfigurationException" (I've attached the full log output below).

Have I missed a step in the installation?

Thanks so much for any help,
--Rich

--

Richard Fozzard
CIRES, University of Colorado
Enterprise Data Systems, National Geophysical Data Center/NOAA
325 S. Broadway, Boulder, CO 80305; Skaggs Bldg 1B-305
303-497-6487(ofc), 303-579-5615(cell), richard.fozzard@anonymised.com

From catalina.out:

INFO: Server startup in 11520 ms
2008-01-04 11:37:53,843 INFO [jeeves.request] - ==========================================================
2008-01-04 11:37:53,843 INFO [jeeves.request] - HTML Request (from 127.0.0.1) : /geonetwork/srv/en/main.home
2008-01-04 11:37:53,843 DEBUG [jeeves.request] - Method : GET
2008-01-04 11:37:53,843 DEBUG [jeeves.request] - Content type : null
2008-01-04 11:37:53,843 DEBUG [jeeves.request] - Accept : text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
2008-01-04 11:37:53,860 DEBUG [jeeves.request] - Session created for client : 127.0.0.1
2008-01-04 11:37:53,873 INFO [jeeves.service] - Dispatching : main.home
2008-01-04 11:37:53,873 DEBUG [jeeves.service] - -> no input parameters
2008-01-04 11:37:53,873 INFO [jeeves.service] - -> dispatching to output for : main.home
2008-01-04 11:37:54,409 INFO [jeeves.webapp.main.home] - Creating default search data
2008-01-04 11:37:54,409 INFO [jeeves.webapp.main.home] - Returning search data
2008-01-04 11:37:55,636 INFO [jeeves.webapp.main.home] - Returning search data
2008-01-04 11:37:55,682 INFO [jeeves.service] - -> transforming with stylesheet : /home/fozzard/geonetwork/web/geonetwork/xsl/main-page.xsl
com.sun.org.apache.bcel.internal.generic.ClassGenException: Assigning null to handle
        at com.sun.org.apache.bcel.internal.generic.InstructionHandle.setInstruction(InstructionHandle.java:97)
        at com.sun.org.apache.bcel.internal.generic.InstructionHandle.getInstructionHandle(InstructionHandle.java:134)
        at com.sun.org.apache.bcel.internal.generic.InstructionList.append(InstructionList.java:350)
        at com.sun.org.apache.bcel.internal.generic.InstructionList.<init>(InstructionList.java:99)
        at com.sun.org.apache.bcel.internal.generic.InstructionList.insert(InstructionList.java:594)
        at com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.peepHoleOptimization(Mode.java:1492)
        at com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileApplyTemplates(Mode.java:1058)
        at com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.compileModes(Stylesheet.java:619)
        at com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.translate(Stylesheet.java:730)
        at com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:335)
        at com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:410)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:791)
        at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:619)
        at jeeves.utils.Xml.transform(Xml.java:139)
        at jeeves.utils.Xml.transform(Xml.java:128)
        at jeeves.server.dispatchers.ServiceManager.dispatchOutput(ServiceManager.java:622)
        at jeeves.server.dispatchers.ServiceManager.dispatch(ServiceManager.java:378)
        at jeeves.server.JeevesEngine.dispatch(JeevesEngine.java:600)
        at jeeves.server.sources.http.JeevesServlet.execute(JeevesServlet.java:163)
        at jeeves.server.sources.http.JeevesServlet.doGet(JeevesServlet.java:88)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
        at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
        at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
        at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
        at java.lang.Thread.run(Thread.java:595)
ERROR: 'Assigning null to handle'
FATAL ERROR: 'Could not compile stylesheet'
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> exception during transformation for : main.home
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> (C) stylesheet : /home/fozzard/geonetwork/web/geonetwork/xsl/main-page.xsl
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> (C) message : Could not compile stylesheet
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> (C) exception : TransformerConfigurationException
2008-01-04 11:37:57,272 DEBUG [jeeves.service] - Raised exception while executing service
<error id="error">
  <message>Could not compile stylesheet</message>
  <class>TransformerConfigurationException</class>
  <stack>
    <at class="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl" file="TransformerFactoryImpl.java" line="824" method="newTemplates" />
    <at class="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl" file="TransformerFactoryImpl.java" line="619" method="newTransformer" />
    <at class="jeeves.utils.Xml" file="Xml.java" line="139" method="transform" />
    <at class="jeeves.utils.Xml" file="Xml.java" line="128" method="transform" />
    <at class="jeeves.server.dispatchers.ServiceManager" file="ServiceManager.java" line="622" method="dispatchOutput" />
    <at class="jeeves.server.dispatchers.ServiceManager" file="ServiceManager.java" line="378" method="dispatch" />
    <at class="jeeves.server.JeevesEngine" file="JeevesEngine.java" line="600" method="dispatch" />
    <at class="jeeves.server.sources.http.JeevesServlet" file="JeevesServlet.java" line="163" method="execute" />
    <at class="jeeves.server.sources.http.JeevesServlet" file="JeevesServlet.java" line="88" method="doGet" />
    <at class="javax.servlet.http.HttpServlet" file="HttpServlet.java" line="690" method="service" />
  </stack>
  <request>
    <language>en</language>
    <service>main.home</service>
  </request>
  <response />
</error>
2008-01-04 11:37:57,273 INFO [jeeves.service] - -> dispatching to error for : main.home
2008-01-04 11:37:57,388 INFO [jeeves.service] - -> transforming with stylesheet : /home/fozzard/geonetwork/web/geonetwork/xsl/error.xsl
2008-01-04 11:37:57,676 INFO [jeeves.service] - -> end error transformation for : main.home
2008-01-04 11:37:57,677 INFO [jeeves.service] - -> error ended for : main.home

Dear Rich,
I have been testing GeoNetwork v2.2.0 RC0 with Tomcat 5.5.25 today on Mac OSX using Java JRE 1.5.0_13. I have not encountered your problem in this setup, except for a configuration issue for InterMap.

I have NOT copied the xalan API in the endorsed folder, just a default setup.

This is a bit unfortunate for you at this stage I think, except when you managed to get it to work yourself already? If not, can you give the exact version numbers of your Tomcat and Java, including the minor version numbers?

Greetings,
Jeroen

On Jan 4, 2008, at 10:53 PM, Richard Fozzard wrote:

Fellow GN/Tomcat users,

I'm new to Geonetwork, and just installed GN 2.1. Running with Jetty
works, but I need to run it under Tomcat 5.5/Java 1.5.

I did the following:

1. Added the /geonetwork context to Tomcat's server.xml
2. Copied xalan-j_2_7_0/*.jar to Tomcat's common/endorsed/
3. Restarted Tomcat

(This is based on Paul's Ubunto tutorial for GN 2.0.3 at
http://geonetwork-opensource.org/documentation/how-to/installation-on-ubuntu,
though since I'm using Red Hat Linux without sudo privileges, and the
built-in McKoi database, it doesn't all apply to me)

The webapp loads and starts, but the home page
(/geonetwork/srv/en/main.home) shows this error:

     "The requested operation could not be performed."

In the log, catalina.out, I see "Could not compile stylesheet...
TransformerConfigurationException" (I've attached the full log output
below).

Have I missed a step in the installation?

Thanks so much for any help,
--Rich

--

Richard Fozzard
CIRES, University of Colorado
Enterprise Data Systems, National Geophysical Data Center/NOAA
325 S. Broadway, Boulder, CO 80305; Skaggs Bldg 1B-305
303-497-6487(ofc), 303-579-5615(cell), richard.fozzard@anonymised.com

From catalina.out:

INFO: Server startup in 11520 ms
2008-01-04 11:37:53,843 INFO [jeeves.request] -

2008-01-04 11:37:53,843 INFO [jeeves.request] - HTML Request (from
127.0.0.1) : /geonetwork/srv/en/main.home
2008-01-04 11:37:53,843 DEBUG [jeeves.request] - Method : GET
2008-01-04 11:37:53,843 DEBUG [jeeves.request] - Content type : null
2008-01-04 11:37:53,843 DEBUG [jeeves.request] - Accept :
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
2008-01-04 11:37:53,860 DEBUG [jeeves.request] - Session created for
client : 127.0.0.1
2008-01-04 11:37:53,873 INFO [jeeves.service] - Dispatching : main.home
2008-01-04 11:37:53,873 DEBUG [jeeves.service] - -> no input parameters
2008-01-04 11:37:53,873 INFO [jeeves.service] - -> dispatching to
output for : main.home
2008-01-04 11:37:54,409 INFO [jeeves.webapp.main.home] - Creating
default search data
2008-01-04 11:37:54,409 INFO [jeeves.webapp.main.home] - Returning
search data
2008-01-04 11:37:55,636 INFO [jeeves.webapp.main.home] - Returning
search data
2008-01-04 11:37:55,682 INFO [jeeves.service] - -> transforming
with stylesheet : /home/fozzard/geonetwork/web/geonetwork/xsl/main-page.xsl
com.sun.org.apache.bcel.internal.generic.ClassGenException: Assigning
null to handle
       at
com.sun.org.apache.bcel.internal.generic.InstructionHandle.setInstruction(InstructionHandle.java:97)
       at
com.sun.org.apache.bcel.internal.generic.InstructionHandle.getInstructionHandle(InstructionHandle.java:134)
       at
com.sun.org.apache.bcel.internal.generic.InstructionList.append(InstructionList.java:350)
       at
com.sun.org.apache.bcel.internal.generic.InstructionList.<init>(InstructionList.java:99)
       at
com.sun.org.apache.bcel.internal.generic.InstructionList.insert(InstructionList.java:594)
       at
com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.peepHoleOptimization(Mode.java:1492)
       at
com.sun.org.apache.xalan.internal.xsltc.compiler.Mode.compileApplyTemplates(Mode.java:1058)
       at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.compileModes(Stylesheet.java:619)
       at
com.sun.org.apache.xalan.internal.xsltc.compiler.Stylesheet.translate(Stylesheet.java:730)
       at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:335)
       at
com.sun.org.apache.xalan.internal.xsltc.compiler.XSLTC.compile(XSLTC.java:410)
       at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:791)
       at
com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:619)
       at jeeves.utils.Xml.transform(Xml.java:139)
       at jeeves.utils.Xml.transform(Xml.java:128)
       at
jeeves.server.dispatchers.ServiceManager.dispatchOutput(ServiceManager.java:622)
       at
jeeves.server.dispatchers.ServiceManager.dispatch(ServiceManager.java:378)
       at jeeves.server.JeevesEngine.dispatch(JeevesEngine.java:600)
       at
jeeves.server.sources.http.JeevesServlet.execute(JeevesServlet.java:163)
       at
jeeves.server.sources.http.JeevesServlet.doGet(JeevesServlet.java:88)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
       at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
       at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
       at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
       at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
       at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
       at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
       at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
       at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
       at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
       at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
       at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
       at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
       at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
       at java.lang.Thread.run(Thread.java:595)
ERROR: 'Assigning null to handle'
FATAL ERROR: 'Could not compile stylesheet'
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> exception during
transformation for : main.home
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> (C) stylesheet :
/home/fozzard/geonetwork/web/geonetwork/xsl/main-page.xsl
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> (C) message :
Could not compile stylesheet
2008-01-04 11:37:57,271 ERROR [jeeves.service] - -> (C) exception :
TransformerConfigurationException
2008-01-04 11:37:57,272 DEBUG [jeeves.service] - Raised exception while
executing service
<error id="error">
<message>Could not compile stylesheet</message>
<class>TransformerConfigurationException</class>
<stack>
   <at
class="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"
file="TransformerFactoryImpl.java" line="824" method="newTemplates" />
   <at
class="com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl"
file="TransformerFactoryImpl.java" line="619" method="newTransformer" />
   <at class="jeeves.utils.Xml" file="Xml.java" line="139"
method="transform" />
   <at class="jeeves.utils.Xml" file="Xml.java" line="128"
method="transform" />
   <at class="jeeves.server.dispatchers.ServiceManager"
file="ServiceManager.java" line="622" method="dispatchOutput" />
   <at class="jeeves.server.dispatchers.ServiceManager"
file="ServiceManager.java" line="378" method="dispatch" />
   <at class="jeeves.server.JeevesEngine" file="JeevesEngine.java"
line="600" method="dispatch" />
   <at class="jeeves.server.sources.http.JeevesServlet"
file="JeevesServlet.java" line="163" method="execute" />
   <at class="jeeves.server.sources.http.JeevesServlet"
file="JeevesServlet.java" line="88" method="doGet" />
   <at class="javax.servlet.http.HttpServlet" file="HttpServlet.java"
line="690" method="service" />
</stack>
<request>
   <language>en</language>
   <service>main.home</service>
</request>
<response />
</error>
2008-01-04 11:37:57,273 INFO [jeeves.service] - -> dispatching to
error for : main.home
2008-01-04 11:37:57,388 INFO [jeeves.service] - -> transforming
with stylesheet : /home/fozzard/geonetwork/web/geonetwork/xsl/error.xsl
2008-01-04 11:37:57,676 INFO [jeeves.service] - -> end error
transformation for : main.home
2008-01-04 11:37:57,677 INFO [jeeves.service] - -> error ended for :
main.home

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
GeoNetwork-devel mailing list
GeoNetwork-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geonetwork-devel
GeoNetwork OpenSource is maintained at http://sourceforge.net/projects/geonetwork