English

Bug: WMS Connector returns HTTP 500 error when enabling WMS services using Tomcat 5.0.28

Description

When trying to enable WMS for a map service, the WMS Connector Administrator reports the following error:

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

Tomcat logs the root cause with the following stack trace:

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 for a map service, the WMS connector requires the Java XSLT processor. The error occurs because this processor is not included with Tomcat 5, specifically Tomcat 5.0.28 and possibly newer versions.

Workaround

Use the following steps to add the files needed for XSLT for Tomcat.

  1. Stop the following services in this order:
    a. ArcIMS Tasker
    b. ArcIMS Monitor
    c. ArcIMS Application Server
  2. Stop the Apache Tomcat service.
  3. Download the Apache Xalan-Java XSLT processor xalan-j_2_7_0-bin.zip from the Apache website at http://ftp.wayne.edu/apache/xml/xalan-j/xalan-j_2_7_0-bin.zip or at http://xml.apache.org/xalan-j/downloads.html
  4. Unzip the downloaded file.
  5. Copy serializer.jar, xalan.jar, xml-apis.jar and xercesImpl.jar from Apache Xalan-Java package folder xalan-j_2_7_0 into <Tomcat_Installation_Dir>/common/lib
  6. Copy xml-apis.jar and xercesImpl.jar from Apache Xalan-Java package folder xalan-j_2_7_0 into <Tomcat_Installation_Dir>/common/endorsed/.
  7. Restart the Tomcat service.
  8. Restart the following services in this order:
    a. ArcIMS Application Server
    b. ArcIMS Monitor
    c. ArcIMS Tasker
  9. Proceed with steps to enable WMS for an available map service in the WMS Connector Administrator.