import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.WebServiceContext;
import org.apache.axis.transport.http.HTTPConstants;
import org.codehaus.xfire.transport.http.XFireServletController;
/**
* @Author MH
* @version 2011-12-2 上午09:31:49
*/
public class ClientIpXfire {
@Resource
private WebServiceContext context;
/**
* CXF获取客户端IP地址(测试通过)
*
* @Author xiechs
* @return
*/
private String getClientIpCxf(Message message) {
try {
HttpServletRequest httprequest = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
return httprequest.getRemoteHost();
} catch (Exception e) {
logger.error("无法获取客户端IP:\n" + e);
e.printStackTrace();
return "";
}
}
/**
* XFIRE获取客户端IP地址
*
* @Author MH
* @return
*/
public static String getClientIpXfire() {
String ip = null;
try {
HttpServletRequest request = XFireServletController.getRequest();
ip = request.getRemoteAddr();
return ip;
} catch (Exception e) {
System.out.println("无法获取对方主机IP");
e.printStackTrace();
return null;
}
}
/**
* AXIS获取客户端IP地址
*
* @Author MH
* @return
*/
public static String getClientIpAxis() {
try {
MessageContext mc = MessageContext.getCurrentContext();
HttpServletRequest request = (HttpServletRequest) mc
.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
System.out.println("remote ip: " + request.getRemoteAddr());
return request.getRemoteAddr();
} catch (Exception e) {
System.out.println("无法获取对方主机IP");
e.printStackTrace();
return null;
}
}
}
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.WebServiceContext;
import org.apache.cxf.message.Message;
import javax.servlet.http.HttpServletRequest;
import org.apache.axis.transport.http.HTTPConstants;
import org.codehaus.xfire.transport.http.XFireServletController;
/**
* @Author MH
* @version 2011-12-2 上午09:31:49
*/
public class ClientIpXfire {
@Resource
private WebServiceContext context;
/**
* CXF获取客户端IP地址(测试通过)
*
* @Author xiechs
* @return
*/
private String getClientIpCxf(Message message) {
try {
HttpServletRequest httprequest = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST);
return httprequest.getRemoteHost();
} catch (Exception e) {
logger.error("无法获取客户端IP:\n" + e);
e.printStackTrace();
return "";
}
}
/**
* XFIRE获取客户端IP地址
*
* @Author MH
* @return
*/
public static String getClientIpXfire() {
String ip = null;
try {
HttpServletRequest request = XFireServletController.getRequest();
ip = request.getRemoteAddr();
return ip;
} catch (Exception e) {
System.out.println("无法获取对方主机IP");
e.printStackTrace();
return null;
}
}
/**
* AXIS获取客户端IP地址
*
* @Author MH
* @return
*/
public static String getClientIpAxis() {
try {
MessageContext mc = MessageContext.getCurrentContext();
HttpServletRequest request = (HttpServletRequest) mc
.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
System.out.println("remote ip: " + request.getRemoteAddr());
return request.getRemoteAddr();
} catch (Exception e) {
System.out.println("无法获取对方主机IP");
e.printStackTrace();
return null;
}
}
}