webservice 服务器代码获取客户端的IP地址
来源:互联网 发布:淘宝上的柠檬好吗 编辑:程序博客网 时间:2024/05/30 23:54
通过 @Resource 注入 WebServiceContext 对象,再从 WebServiceContext 对象中使用 getMessageContext() 获得 MessageContext 对象,再使用:
ServletRequest request = (ServletRequest)messageContext.get(MessageContext.HTTP_REQUEST);
上面这些虽然是 Java EE 5/JAX-WS 2.0 中的方式,我看了一下 JAX-WS 2.1 中也可以使用的,你试试看。
所用的接口、Annotation 完整名称为:
@Resource: javax.annotation.Resource
WebServiceContext: javax.xml.ws.WebServiceContext
MessageContext: javax.xml.ws.handler.MessageContext
ServletRequest: javax.servlet.ServletRequest
@Resource
private WebServiceContext wsContext;
方法中
MessageContext mc = wsContext.getMessageContext();
HttpServletRequest request = (HttpServletRequest)(mc.get(mc.SERVLET_REQUEST));
String remortAddress = request.getRemoteAddr();
System.out.println(remortAddress);
1.基于jax-ws开发的webservice获取客户端ip的方法【在代理类XXXDelegate添加如下代码】:
Java代码
1.import javax.annotation.Resource;
2.import javax.servlet.http.HttpServletRequest;
3.import javax.xml.ws.WebServiceContext;
4.import javax.xml.ws.handler.MessageContext;
5.
6.@Resource
7.private WebServiceContext wsContext;
8.
9.private String getClientInfo(){
10.
11.MessageContext mc = wsContext.getMessageContext();
12.HttpServletRequest request = (HttpServletRequest)(mc.get(MessageContext.SERVLET_REQUEST));
13.String remortAddress = request.getRemoteAddr();
14.return (remortAddress);
15.}
2.基于axis发布的webservice获取客户端ip的方法
Java代码
import org.apache.axis.MessageContext;
import org.apache.axis.transport.http.HTTPConstants;
import javax.servlet.http.HttpServletRequest;
1./**
2. * 获取客户端IP地址,如调用方的IP,以便检查权限。
3. * 适用于axis发布的webservice
4. * @return
5. */
6. public String getClientIpAxis() {
7. MessageContext mc = null;
8. HttpServletRequest request = null;
9. try {
10. mc = MessageContext.getCurrentMessageContext();
11. if (mc == null)
12. throw new Exception(“无法获取到MessageContext”);
13. request = (HttpServletRequest) mc
14. .getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
15. System.out.println(“remote ip: ” + request.getRemoteAddr());
16. } catch (Exception e) {
17. System.out.println(e.getMessage());
18. e.printStackTrace();
19. }
20. return request.getRemoteAddr();
21. }
3.基于xfire发布的webservice获取客户端ip的方法
Java代码
1./**
2. * 获取客户端IP地址
3. * 适用于xfire发布的webservice
4. * @return
5. */
6. public String getClientIpXfire() {
7. String ip = “”;
8. try {
9. HttpServletRequest request = XFireServletController.getRequest();
10. ip = request.getRemoteAddr();
11. } catch (Exception e) {
12. System.out.println(“无法获取HttpServletRequest.”);
13. e.printStackTrace();
14. }
15. return ip;
16. }
- java webservice 服务器代码获取请求客户端的IP地址
- webservice 服务器代码获取客户端的IP地址
- webservice获取客户端IP地址
- webservice获取客户端IP地址
- 如何在WebService中获取客户端的IP地址
- Java开发的WebService获取客户端IP地址
- 基于axis2的WebService获取客户端请求IP地址
- Java开发的WebService获取客户端IP地址
- Java开发的WebService获取客户端IP地址
- Java获取客户端所在的IP地址和服务器地址
- 服务器端获取webservice客户端IP地址
- 服务器端获取webservice客户端IP地址
- javax.jws.WebService获取客户端IP地址
- axis 下的WebService 获取客户端IP代码
- axis2 下的WebService 获取客户端IP代码
- 分享代码:php获取客户端ip地址的代码
- PHP获取客户端和服务器的IP地址
- PHP获取客户端和服务器IP地址
- Array 数组 操作
- iptables 端口映射的一点经验
- Android系统架构解析
- linux+php5.1.6+mysql5.0.2+apache2.0.55安装配置说明:
- Eclipse选中变量名,相同变量都变色显示 的设置
- webservice 服务器代码获取客户端的IP地址
- ZOJ 2358 —— 水题
- struts配置错误页面
- cxGrid使用点滴
- Java编译器使用入门
- 获取系统时间
- Apk文件破解可见源码
- Excel数据填充技巧
- Oracle——distinct的用法