Dirección IP En WebService
De Dos Ideas.
Revisión del 23:53 14 sep 2008 de 190.172.81.135 (discusión)
Suele ser habitual realizar una auditoría sobre las invocaciones de nuestros webservices. Además de la operación, fecha y hora, petición y respuesta, una de las cosas más interesantes a guardar es la dirección IP del cliente. Este dato quizás no es tan trivial de obtener, hay que hacer uso del objeto MessageContext asociado al mensaje recibido.
Por lo que aquí os dejo el código:
MessageContext msgCtx = MessageContext.getCurrentMessageContext();
String remoteAddress = (String)msgCtx.getProperty("REMOTE_ADDR");
Otras cosas interesantes que se pueden obtener son los objetos ServletContext y HttpServletRequest:
ServletContext servletContext = (ServletContext)msgCtx.
getProperty("transport.http.servletContext");
HttpServletRequest httpServletRequest = (HttpServletRequest)msgCtx.
getProperty("transport.http.servletRequest");