I'm trying to deploy axis into an EAR file and am having a problem.

The EAR file contains all of the axis (and required) jars, along with a war file and 
an EJB jar (containing my session beans that provide the underlying web service 
functionality). The WAR file doesn't contain any classes but the web.xml sets up the 
axis servlet.

I am deploying to Weblogic 6.1 sp1.

Everything deploys fine and I can access the axis servlet, however when I try and call 
a web service, I get the following exception:

<26-Sep-02 09:45:33 BST> <Error> <HTTP> <[WebAppServletContext(5334175,gds,/gds)] 
Servlet failed with Exception
java.lang.NullPointerException
        at java.io.File.<init>(File.java:180)
        at org.apache.axis.configuration.FileProvider.<init>(FileProvider.java:127)
        at 
org.apache.axis.configuration.EngineConfigurationFactoryServlet.getServerEngineConfig(EngineConfigurationFactoryServlet.java:190)
        at 
org.apache.axis.configuration.EngineConfigurationFactoryServlet.getServerEngineConfig(EngineConfigurationFactoryServlet.java:139)
        at 
org.apache.axis.transport.http.AxisServletBase.getEngineEnvironment(AxisServletBase.java:281)
        at 
org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:208)
        at 
org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:187)
        at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:624)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:335)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:265)
        at 
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:200)
        at 
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:2456)
        at 
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2039)
        at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
        at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)

When stepping through the code, it looks as though axis can't find the 
server-config.wsdd file (which resides within the WAR file's WEB-INF directory).
Further investigation reveals that the following line in AxisServletBase:

String webInfPath = context.getRealPath("/WEB-INF");

is returning null.

Am I just missing some configuration parameters or is this, as I suspect, a bug 
similar to 10512 where getRealPath() can't be used within a war or ear file.

Regards,
 
Giles Paterson
--  
Runservicenet Limited

Reply via email to