Obtener la IP del cliente que llama a nuestro servicio web usando el enfoque POJO de Axis2
Si utilizamos el enfoque POJO (http://axis.apache.org/axis2/java/core/docs/pojoguide.html) para crear servicios WEB con Axis2, no tendremos por defecto acceso a datos como conocer la IP del cliente que nos está invocando.
Existe una forma de acceder a esta información y es haciendo que nuestra clase implemente “Lifecycle” con lo que ya podremos acceder a la clase MessageContext para obtener datos del cliente que ataca a nuestro servicio web.
public class WSNPojo implements Lifecycle |
Forma de obtener la IP:
public String getIP() { MessageContext messageContext = MessageContext.getCurrentMessageContext(); String ipAddress = ""; if(messageContext != null){ ipAddress = (String)messageContext.getProperty("REMOTE_ADDR"); } System.out.println("ip" +ipAddress); return ipAddress; } |
Métodos que debe implementar nuestra nueva clase:
@Override public void init(ServiceContext sc) throws AxisFault { System.out.println("Hello I am inside the service init method"); } @Override public void destroy(ServiceContext sc) { System.out.println("Hello I am inside the service destroy method"); } |