You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by "Bryan, Ciaran" <ci...@logicacmg.com> on 2006/01/19 17:27:49 UTC
Accessing Tomcat Webapp Servlet Context from axis Webservice
Hi,
I'm running Axis 1.3/Tomcat 5.5 and using servlet-api 2.4. Is it
possible to access a Accessing Tomcat Webapp Servlet Context from my
axis Webservice ?
I have a simple web service that when called needs to invoke on an
object that is autostarted and running separately under tomcat as a
webapp.
To test initially I just setup two tomcat webapps. App1 used
setAttribute on its servlet context so it became available to other
servlets e.g.
public void init(ServletConfig sc) {
context = sc.getServletContext();
context.setAttribute("App1", this);
}
App2 then did a getAttributs on its context and invoked the required
method on App1 e.g.
App1 app = (App1) context.getAttribute("App1");
app.getCalledCount();
This all worked Ok. When I try using various ways from my axis
webservice I just get nullpointer.
e.g.
HttpServlet servlet = (HttpServlet) messageContext
.getProperty(HTTPConstants.MC_HTTP_SERVLET);
ServletContext servletContext = (ServletContext) servlet
.getServletContext();
App1 app = (App) servletContext.getAttribute("App1");
app.getCalledCount();
Does anyone know if it is possible from an axis webapp to invoke on a
another tomcat servlet ? Can I not get access because classloaders are
different perhaps ?
Note: I have loaded App1.jar into tomcat/commons/lib instead of
webapps/App1/WEB-INF/lib so there is just the one copy available to
tomcat.
Any help appreciated,
Regards,
Ciaran
This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
Re: Accessing Tomcat Webapp Servlet Context from axis Webservice
Posted by Aaron Evans <aa...@yahoo.ca>.
Bryan, Ciaran <ciaran.bryan <at> logicacmg.com> writes:
> Does anyone know if it is possible from an
> axis webapp to invoke on a another tomcat servlet ? Can I not get access
> because classloaders are different perhaps ?
>
>
>
If you were to deploy your web service *within* your other web app, then it is
very easy to get access to the servlet context:
HttpServlet servlet = (HttpServlet)
MessageContext.getCurrentContext().getProperty(
org.apache.axis.transport.http.HTTPConstants.MC_HTTP_SERVLET);
ServletContext context = servlet.getServletContext();
HTH,
aaron