Search code examples
javaweb-servicesjax-wsip

Getting the IP Address Of A client For a webservice


I am using JAX-WS and I am having trouble retrieving the client information that is consuming a webservice. I've found out how to do it with JAX-RPC, and Apache Tomcat Axis, but not with JAX-WS. Does anyone have an idea about this?


Solution

  • What about this:

    @WebService
    public class MyService {
    
      @Resource
      WebServiceContext wsContext; 
    
      /**
       * Web service operation
       */ 
      @WebMethod 
      public String myMethod() { 
    
        MessageContext mc = wsContext.getMessageContext();
        HttpServletRequest req = (HttpServletRequest)mc.get(MessageContext.SERVLET_REQUEST); 
        System.out.println("Client IP = " + req.getRemoteAddr()); 
    
      }
    
    }