Uploaded image for project: 'Axis'
  1. Axis
  2. AXIS-2533

NullPointerException when redeploy axis context using Embedded Tomcat, first time deploy is working fine (other context are fine)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Blocker
    • Resolution: Unresolved
    • 1.4
    • None
    • None
    • Tomcat 5.0.28 as Embedded host, Axis 1.4, JDK 1.4.2_11, Windows XP Pro SP 2

    Description

      We are using Tomcat 5.0.28 as Embedded host, then deploying /axis context to handle web services.
      When the application starts up initially, deploying /axis context works fine.
      But we want to be able to make changes to the web services deployed under axis, so we need to be able to undeploy the /axis context in the embedded Tomcat, then redeploy the /axis context again, which at this point the exception occurs (stack trace below). I think - correct me if I'm wrong - it's something to do between axis and commons-discovery caching the class loader (even though it is a new context - hence using new class loader)? I have looked at the issue database, while there are something along the lines of redeploy problem, I found none with similar exception (stack trace), hence I'm posting this.

      StandardContext[/axis]Servlet /axis threw load() exception
      javax.servlet.ServletException: Servlet.init() for servlet AdminServlet threw exception
      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1071)
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
      ...
      ----- Root Cause -----
      java.lang.NullPointerException
      at org.apache.catalina.loader.WebappClassLoader.findResources(WebappClassLoader.java:956)
      at java.lang.ClassLoader.getResources(ClassLoader.java:851)
      at org.apache.commons.discovery.jdk.JDK12Hooks.getResources(JDK12Hooks.java:150)
      at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResources(DiscoverResources.java:153)
      at org.apache.commons.discovery.resource.DiscoverResources$1.getNextResource(DiscoverResources.java:129)
      at org.apache.commons.discovery.resource.DiscoverResources$1.hasNext(DiscoverResources.java:116)
      at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassNames(DiscoverNamesInFile.java:186)
      at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.getNextClassName(DiscoverNamesInFile.java:170)
      at org.apache.commons.discovery.resource.names.DiscoverNamesInFile$1.hasNext(DiscoverNamesInFile.java:157)
      at org.apache.commons.discovery.resource.names.NameDiscoverers$1.getNextIterator(NameDiscoverers.java:143)
      at org.apache.commons.discovery.resource.names.NameDiscoverers$1.hasNext(NameDiscoverers.java:126)
      at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.getNextResource(ResourceClassDiscoverImpl.java:159)
      at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.hasNext(ResourceClassDiscoverImpl.java:147)
      at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java:120)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory(EngineConfigurationFactoryFinder.java:113)
      at org.apache.axis.transport.http.AxisServletBase.getEngineEnvironment(AxisServletBase.java:273)
      at org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:172)
      at org.apache.axis.transport.http.AxisServletBase.getOption(AxisServletBase.java:396)
      at org.apache.axis.transport.http.AxisServletBase.init(AxisServletBase.java:112)
      at javax.servlet.GenericServlet.init(GenericServlet.java:261)
      at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029)
      at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862)
      at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:823)
      at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
      at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:595)
      ...

      Prior to Axis 1.4, we used Axis 1.1 which works fine (undeploy then redeploy). I have tried Axis 1.2.1 which have the same problem as Axis 1.4.

      Attachments

        Activity

          People

            Unassigned Unassigned
            strik3r Patrick
            Votes:
            1 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: