一、基於xfire發布的webservice獲取客戶端ip的方法
public String getClientIp(){String ip = "";try {HttpServletRequest request = XFireServletController.getRequest();ip = request.getRemoteAddr();System.out.println("客戶端ip=:"+ip);} catch (Exception e) {System.out.println("無法獲取HttpServletRequest.");e.printStackTrace();}return ip;}
二、基於axis發布的webservice獲取客戶端ip的方法
public String getClientIpAxis() {
MessageContext mc = null;
HttpServletRequest request = null;
try {
mc = MessageContext.getCurrentMessageContext();
if (mc == null)
throw new Exception(“無法獲取到MessageContext”);
request = (HttpServletRequest) mc
.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
System.out.println(“remote ip: ” + request.getRemoteAddr());
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return request.getRemoteAddr();
}
三、基於jax-ws開發的webservice獲取客戶端ip的方法【在代理類XXXDelegate添加如下代碼】
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
@Resource
private WebServiceContext wsContext;
private String getClientInfo(){
MessageContext mc = wsContext.getMessageContext();
HttpServletRequest request = (HttpServletRequest)(mc.get(MessageContext.SERVLET_REQUEST));
String remortAddress = request.getRemoteAddr();
return (remortAddress);
}
public String getClientIp(){String ip = "";try {HttpServletRequest request = XFireServletController.getRequest();ip = request.getRemoteAddr();System.out.println("客戶端ip=:"+ip);} catch (Exception e) {System.out.println("無法獲取HttpServletRequest.");e.printStackTrace();}return ip;}
二、基於axis發布的webservice獲取客戶端ip的方法
public String getClientIpAxis() {
MessageContext mc = null;
HttpServletRequest request = null;
try {
mc = MessageContext.getCurrentMessageContext();
if (mc == null)
throw new Exception(“無法獲取到MessageContext”);
request = (HttpServletRequest) mc
.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
System.out.println(“remote ip: ” + request.getRemoteAddr());
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
return request.getRemoteAddr();
}
三、基於jax-ws開發的webservice獲取客戶端ip的方法【在代理類XXXDelegate添加如下代碼】
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.handler.MessageContext;
@Resource
private WebServiceContext wsContext;
private String getClientInfo(){
MessageContext mc = wsContext.getMessageContext();
HttpServletRequest request = (HttpServletRequest)(mc.get(MessageContext.SERVLET_REQUEST));
String remortAddress = request.getRemoteAddr();
return (remortAddress);
}