Obtener la IP del cliente que llama a nuestro servicio web usando el enfoque POJO de Axis2

Tuesday, October 1, 2013 15:07
Posted in category Otros

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"); 
    }
You can leave a response, or trackback from your own site.

Leave a Reply