English

Bug: WMS and WFS Connector throws HTTP 500 error when enabling services using Tomcat 5.0.28/5.5.9

Description

When trying to enable a service for WMS or WMS using the web based ArcIMS WMS or WFS Connector administration console, the following internal error is returned:

"HTTP Status 500, the server encountered an internal error () that prevented it from fulfilling this request.
javax.servlet.ServletException: Servlet execution threw an exception"

The full stack trace of the root cause can be found in the <Tomcat_Installation_Dir>/logs/ showing this error:

Code:
javax.xml.transform.TransformerFactoryConfigurationError:
Provider org.apache.xalan.processor.TransformerFactoryImpl not found
javax.xml.transform.TransformerFactory.newInstance(Unknown Source)
com.esri.wms.util.XMLUtil.transform(XMLUtil.java)
com.esri.wms.CapabilitiesReply.createCapabilitiesOnDisk(CapabilitiesReply.java)
com.esri.wms.AdminCommand.updateCapabilitiesOnDisk(AdminCommand.java)
com.esri.wms.Esrimap.doGet(Esrimap.java)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

Cause

When enabling WMS or WFS for an available service in the services list, the WMS or WFS connector will need the help of Tomcat to processes XSLT stylesheets into a Templates object to generate the WMS/WFS capabilities XML document.

To be able to process XSLT, the Xalan-Java XSLT processor from Apache is required. This is not included with the Tomcat installation and therefore cause the error.

Workaround

Use the following procedure to download and configure the Xalan-Java XSLT processor from Apache with the Tomcat installation.

  1. Stop the following Windows services in the following order:
    a. ArcIMS Tasker
    b. ArcIMS Monitor
    c. ArcIMS Application Server
    d. Tomcat 5.x
  2. Download the Apache Xalan-Java XSLT processor from the Apache Xalan-Java site
    1. Select the link 'xalan-j distribution directory'.
    2. Choose an available mirror site.
    3. Download xalan-j_2_7_0-bin.zip
  3. Unzip the downloaded package on to a temporary location on the computer.
  4. From the temporary location, copy the following four files and paste them into the location <Tomcat_Installation_Dir>/common/lib:
    · serializer.jar
    · xalan.jar
    · xml-apis.jar
    · xercesImpl.jar
  5. From the temporary location, copy the following two files again and paste them into the location <Tomcat_Installation_Dir>/common/endorsed/:
    · xml-apis.jar
    · xercesImpl.jar
  6. Restart following windows services in the following order:
    a. Tomcat 5.x
    b. ArcIMS Application Server
    c. ArcIMS Monitor
    d. ArcIMS Tasker
  7. Launch the web based WMS or WFS Connector Administrator and try enabling an available service from the services list for WMS or WFS.