You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Davanum Srinivas (JIRA)" <ji...@apache.org> on 2007/06/07 05:28:26 UTC

[jira] Resolved: (AXIS2-2528) Tomcat deployment without unpacking WAR

     [ https://issues.apache.org/jira/browse/AXIS2-2528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Davanum Srinivas resolved AXIS2-2528.
-------------------------------------

    Resolution: Invalid

> Tomcat deployment without unpacking WAR
> ---------------------------------------
>
>                 Key: AXIS2-2528
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2528
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Improvement
>          Components: deployment
>    Affects Versions: 1.1.1
>         Environment: Tomcat 5 , jdk 4 and above on linux.
>            Reporter: Sathija Pavuluri
>
> Deployment works fine when I drop my war file to /webapps and server.xml setting is:
> <Host name="localhost" appBase="webapps"
>        unpackWARs="true" autoDeploy="true"
>        xmlValidation="false" xmlNamespaceAware="false">
> This unpacks the war file and everything works fine.
> However, when I drop my war file to /webapps and change the unpackWARs property  to
> <Host name="localhost" appBase="webapps"
>        unpackWARs="false" autoDeploy="false"
>        xmlValidation="false" xmlNamespaceAware="false">
> I get the axis startup error described below.
> ********************************************************************************
> SEVERE: Servlet /test-app threw load() exception
> > > org.apache.axis2.AxisFault: The system is attempting to engage a module
> > > that is not available: addressing
> > > at
> > > org.apache.axis2.engine.AxisConfiguration.engageModule(AxisConfiguration.java:394) \
> > >  at
> > > org.apache.axis2.deployment.DeploymentEngine.engageModules(DeploymentEngine.java:6 \
> > > 63) at
> > > org.apache.axis2.deployment.WarBasedAxisConfigurator.engageGlobalModules(WarBasedA \
> > > xisConfigurator.java:269) at
> > > org.apache.axis2.context.ConfigurationContextFactory.createConfigurationContext(Co \
> > > nfigurationContextFactory.java:69) at
> > > org.apache.axis2.transport.http.AxisServlet.initConfigContext(AxisServlet.java:385 \
> > > ) at
> > > org.apache.axis2.transport.http.AxisServlet.init(AxisServlet.java:335)
> > > at
> > > org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1105)
> > > at
> > > org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:932)
> > > at
> > > org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3951)
> > > at
> > > org.apache.catalina.core.StandardContext.start(StandardContext.java:4225)
> ************************************************************************************************
> When tomcat's unpackWARs="false" and you deploy the .war file in tomcat's /webapps this can be reproduced.
> I have been reading up on this issue and found a thread on tomcat user list that said  this about running apps without unpacking the war:
> ****************************************************************************
> One thing to watch out for when running an app directly from a .war file is that if the application is trying to do any File IO where it
> tries to load resources existing within the WAR structure, it won't work if the .war is not expanded into a directory.  I've noticed
> various frameworks that ignore this and continue to use File IO. These apps *will* break.  See if you are getting any stack traces in
> Tomcat's log files. The webapp itself has to be written so that it can work inside a WAR.
> Most commonly, that means using ServletContext.getResource() or ServletContext.getResourceAsStream() instead of file i/o in order to read
> webapp resources.
> ****************************************************************************
> I suspect axis uses file I/O as opposed to ServletContext to load resource files.
> Most production deployments do not unpack WAR files, so having axis use the Servlet Context can definitely make things more elegant.
> Thanks.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org