We just recently upgraded one of our servers from JDK 1.3.15 to 1.4.2.  After 
doing so, we are no longer able to get the web application to work. I am 
including the error and the web.xml.  This worked fine with JDK 1.3.x.
 
Any suggestions?
 
Nov 3, 2005 5:27:05 PM org.apache.commons.digester.Digester endElement
SEVERE: End event threw exception
java.lang.reflect.InvocationTargetException
        at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at 
org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:252)
        at org.apache.commons.digester.SetNextRule.end(SetNextRule.java:256)
        at org.apache.commons.digester.Rule.end(Rule.java:276)
        at org.apache.commons.digester.Digester.endElement(Digester.java:1058)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1720)
        at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
        at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
        at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
        at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
        at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
        at org.apache.commons.digester.Digester.parse(Digester.java:1548)
        at 
org.apache.catalina.startup.ContextConfig.applicationConfig(ContextConfig.java:282)
        at 
org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:639)
        at 
org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:243)
        at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:166)
        at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:3587)
        at 
org.apache.catalina.core.NSJSPStandardContext.start(NSJSPStandardContext.java:58)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:754)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1188)
        at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:363)
        at 
org.apache.catalina.core.StandardService.start(StandardService.java:497)
        at 
com.tandem.servlet.catalina.core.NSJSPServer.start(NSJSPServer.java:2148)
        at 
com.tandem.servlet.catalina.core.NSJSPContainer.start(NSJSPContainer.java:525)
        at 
com.tandem.servlet.catalina.core.NSJSPContainer.execute(NSJSPContainer.java:412)
        at 
com.tandem.servlet.catalina.core.NSJSPContainer.process(NSJSPContainer.java:189)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:324)
        at com.tandem.servlet.NSJSPBootstrap.main(NSJSPBootstrap.java:208)
Caused by: java.lang.IllegalArgumentException: addChild:  Child name 'action' 
is not unique
        at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:815)
        at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
        at 
org.apache.catalina.core.StandardContext.addChild(StandardContext.java:1346)
        ... 34 more

Our web.xml file looks like this:
 
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd";>
<web-app>
  <context-param>
    <param-name>application.debug</param-name>
    <param-value>true</param-value>
  </context-param>
  <context-param>
    <param-name>application.config</param-name>
    <param-value>/WEB-INF/config.properties</param-value>
    <description>The config file used for holding specific configuration 
attributes</description>
  </context-param>
  <context-param>
    <param-name>local.server</param-name>
    <param-value>SCPMS4</param-value>
  </context-param>
  <context-param>
    <param-name>dir.documentation</param-name>
    <param-value>/usr/tandem/web_applications/ctc/docs/</param-value>
    <description>The location for the user support docs</description>
  </context-param>
  <context-param>
    <param-name>PMon</param-name>
    <param-value>$KSMS</param-value>
    <description>Production Pathmon process name</description>
  </context-param>
  <context-param>
    <param-name>SMon</param-name>
    <param-value>$USMS</param-value>
    <description>Simulation Pathmon process name</description>
  </context-param>
  <context-param>
    <param-name>Alarm-SC</param-name>
    <param-value>CTC-JVHP-SVR</param-value>
    <description>Server class name for adding alarms</description>
  </context-param>
  <context-param>
    <param-name>Inter-SC</param-name>
    <param-value>CTC-INTER</param-value>
    <description>Server class name for intermediate server</description>
  </context-param>
  <context-param>
    <param-name>Sim-Inter-SC</param-name>
    <param-value>CTC-CTIN-SVR</param-value>
    <description>Server class name for simulation intermediate 
server</description>
  </context-param>
  <context-param>
    <param-name>Error-Header</param-name>
    <param-value>[CTC_GUI]</param-value>
    <description>Header to prepend to all recorded errors</description>
  </context-param>
  <context-param>
    <param-name>documentation-init-file</param-name>
    <param-value>/usr/tandem/web_applications/ctc/docs.properties</param-value>
    <description>Initialization file location for documentation 
elements</description>
  </context-param>
  <context-param>
    <param-name>documentation-sleep-timer</param-name>
    <param-value>1</param-value>
    <description>The time in minutes to check for changes to the 
init-file</description>
  </context-param>
  <context-param>
    <param-name>MaxNumberOfFailedAttempts</param-name>
    <param-value>3</param-value>
    <description>Maximum Number of Failed Login Attempts before the user 
account is LOCKED</description>
  </context-param>
  <context-param>
    <param-name>date.default.pattern</param-name>
    <param-value>MM/dd/yyyy HH:mm</param-value>
    <description>Default formatting pattern for use with 
TandemTagLibrary</description>
  </context-param>
  <context-param>
    <param-name>date.default.timeZone</param-name>
    <param-value>GMT</param-value>
    <description>Default time zone to use for date formatting using 
TandemTagLibrary</description>
  </context-param>
  <context-param>
    <param-name>production.environment</param-name>
    <param-value>n</param-value>
    <description>Determines if this system is a production system.</description>
  </context-param>
  <filter>
    <filter-name>CGIAttributeFilter</filter-name>
    <filter-class>com.sprint.ctc.struts.CGIAttributeFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>CGIAttributeFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>
  <listener>
    
<listener-class>com.sprint.ctc.listeners.SessionManagerListener</listener-class>
  </listener>
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>com.sprint.ctc.struts.Controller</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>3</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>3</param-value>
    </init-param>
    <load-on-startup>0</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>DownloadServlet</servlet-name>
    <display-name>This is the display name of my J2EE component</display-name>
    <description>This is the description of my J2EE component</description>
    <servlet-class>com.sprint.ctc.DownloadServlet</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>Log4JInitServlet</servlet-name>
    <display-name>This is the display name of my J2EE component</display-name>
    <description>This is the description of my J2EE component</description>
    <servlet-class>com.sprint.ctc.Log4JInitServlet</servlet-class>
    <init-param>
      <param-name>log4j-init-file</param-name>
      <param-value>/WEB-INF/log4j.properties</param-value>
      <description>Location of the log4j.properties file</description>
    </init-param>
    <init-param>
      <param-name>log4j-delay</param-name>
      <param-value>10000</param-value>
      <description>Number of milliseconds delay before checking for a change to 
log4j.properties file</description>
    </init-param>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet>
    <servlet-name>InputBatchPull</servlet-name>
    <servlet-class>com.sprint.ctc.ajax.InputBatchPull</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>SimulationEnvironmentPull</servlet-name>
    <servlet-class>com.sprint.ctc.ajax.SimulationEnvironmentPull</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AdministrationServlet</servlet-name>
    <servlet-class>com.sprint.ctc.ajax.AdministrationMessagePull</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>AdminstrationMessagePull</servlet-name>
    <description>Pull/Push Message from admin to users</description>
    <servlet-class>com.sprint.ctc.ajax.AdministrationMessagePull</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ScriptInputPull</servlet-name>
    <description>Used by AJAX to pull list of Script Inputs (Files/Cllis) from 
the database</description>
    <servlet-class>com.sprint.ctc.ajax.ScriptInputPull</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>ScriptSetupPull</servlet-name>
    <servlet-class>com.sprint.ctc.ajax.ScriptSetupPull</servlet-class>
  </servlet>
  <servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
      <param-name>debug</param-name>
      <param-value>2</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>DownloadServlet</servlet-name>
    <url-pattern>/download</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>Log4JInitServlet</servlet-name>
    <url-pattern>/servlet/Log4JInitServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>InputBatchPull</servlet-name>
    <url-pattern>/inputbatchpull</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>SimulationEnvironmentPull</servlet-name>
    <url-pattern>/simulationpull</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AdministrationServlet</servlet-name>
    <url-pattern>/AdministrationServlet</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>AdminstrationMessagePull</servlet-name>
    <url-pattern>/adminmessagepull</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ScriptInputPull</servlet-name>
    <url-pattern>/scriptInputPull</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>ScriptSetupPull</servlet-name>
    <url-pattern>/scriptSetupPull</url-pattern>
  </servlet-mapping>
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <session-config>
    <session-timeout>30</session-timeout>
  </session-config>
  <welcome-file-list>
    <welcome-file>/form/login.jsp</welcome-file>
  </welcome-file-list>
  <taglib>
    <taglib-uri>/WEB-INF/struts-bean</taglib-uri>
    <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-html</taglib-uri>
    <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/struts-logic</taglib-uri>
    <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/taglibs-datetime</taglib-uri>
    <taglib-location>/WEB-INF/taglibs-datetime.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/amarda-logic</taglib-uri>
    <taglib-location>/WEB-INF/amarda-logic.tld</taglib-location>
  </taglib>
  <taglib>
    <taglib-uri>/WEB-INF/tlds/CTCTagLib</taglib-uri>
    <taglib-location>/WEB-INF/tlds/CTCTagLib.tld</taglib-location>
  </taglib>
</web-app>

Reply via email to