Mostrando entradas con la etiqueta Acceder al contexto de un WS. Mostrar todas las entradas
Mostrando entradas con la etiqueta Acceder al contexto de un WS. Mostrar todas las entradas

miƩrcoles, 2 de septiembre de 2009

Como acceder al ServeltContext de un Servicio Web Axis2

Trabajando con Axis2 neceistaba tener un Servelet por afuera del Servicio, que sea un servidorcito UDP, y que parsee una trama UDP, que me llegaba todo el tiempo a ese servlet.

Entonces necesitaba parsear los datos UDP, y poder mandarlos atravez del WS.

Para eso iba a neceistar que mi servicio WS, pudiera agarrar esos datos parseados del Servlet. El metodo de comunicacion entre ese Servlet y mi Servicio del WS de axis2 iba a tener que ser el Contexto de la aplicacion, osea el ServletContext, entonces me puse a buscar la manera de poder acceder desde el servicio de axis2 al servletcontes de la aplicacion, y lo pude hacer gracias a esta data:


If you are using Axis2 Web Archive (WAR) distribution, then you can easily get these information from the messagecontext.

Accessing Remote IP address from the message context: You can get the remote IP address of the client corresponding to the current message as follows:

String remoteAddress = (String)msgCtx.getProperty("REMOTE_ADDR");


----

Accessing ServletContext from the message context: You can obtain the ServletContext
from message context as follows:

ServletContext servletContext = (ServletContext)MessageContext.getProperty
("transport.http.servletContext");

ServletContext servletContext = (ServletContext)MessageContext.getCurrentMessageContext().getProperty("transport.http.servletContext");


----

Accessing HttpServletRequest from the message context: You can obtain the
HttpServletRequest from message context as follows:

HttpServletRequest httpServletRequest = (HttpServletRequest)MessageContext.getProperty
("transport.http.servletRequest");


Esta ultima es la que utilice para acceder al contexto.