Hi there,

In my webapplication axis is used to connect webservices. If the axis.jar is in WEB-INF/lib I can reload my app and everything is fine.
But when I moved axis.jar to CATALINA_HOME/shared/lib to shrink the size of my war file I get a NullPointerException (stack trace follows) when
the
application
has been reloaded and I try to connect to a service. The application runs fine until I try to connect to a webservice. What could be the reason for this?

 I surfed the forums related to the problem and found that some are suggesting to make reloadable=true in server.xml.But it is not possible for me.

 After debugging the tomcat source( org.apache.catalina.loader.WebAppClassLoader.java), found that when the application is redeployed, axis.jar is available but it is not able to load 'org.apache.axis.EngineConfigurationFactory' class which is invoked from org.apache.axis.Service' constructor to get AxisEngine. Thus resulting Null pointer Exception.
 
Any pointers to solve the problem?Is it possible not to package axis.jar with my application?
 
Thanks in advance......
A Srivani.

java.lang.NullPointerException

        at org.apache.catalina.loader.WebappClassLoader.findResources (WebappClassLoader.java:956)

        at java.lang.ClassLoader.getResources(ClassLoader.java:1015)

        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:1

70)

        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 (ResourceClassDiscov

erImpl.java:159)

        at org.apache.commons.discovery.resource.classes.ResourceClassDiscoverImpl$1.hasNext (ResourceClassDiscoverImpl.j

ava:147)

        at org.apache.axis.configuration.EngineConfigurationFactoryFinder$1.run(EngineConfigurationFactoryFinder.java :12

0)

        at java.security.AccessController.doPrivileged(Native Method)

        at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory( EngineConfigurationFactoryFinder.ja

va:113)

        at org.apache.axis.configuration.EngineConfigurationFactoryFinder.newFactory( EngineConfigurationFactoryFinder.ja

va:160)

        at org.apache.axis.client.Service.getEngineConfiguration (Service.java:812)

        at org.apache.axis.client.Service.getAxisClient(Service.java :103)

        at org.apache.axis.client.Service.<init>(Service.java :112)

        at