Friday, October 31, 2008

Get Remote IP Address In Axis SOAP Server

Obtain remote IP from ServletRequest :

import javax.servlet.http.HttpServletRequest;

import org.apache.axis.MessageContext;

import org.apache.axis.transport.http.HTTPConstants;

public static String getSOAPRemoteIP() {

MessageContext context = MessageContext.getCurrentContext();

String address = null;

if(context!=null &&

context.containsProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST))

{

HttpServletRequest servletReq = (HttpServletRequest)

context.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);

if (servletReq != null)

address = servletReq.getRemoteAddr();

}

return address;

}