zoukankan      html  css  js  c++  java
  • Service获取客户端IP地址(java)

    Java代码
    <strong>1.基于jax-ws开发的webservice获取客户端ip的方法【在代理类XXXDelegate添加如下代码】:</strong>

      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);

      }

    <strong>  2.基于axis发布的webservice获取客户端ip的方法</strong>

      /**

      * 获取客户端IP地址,如调用方的IP,以便检查权限。

      * 适用于axis发布的webservice

      * @return

      */

      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();

      }

    <strong>  3.基于xfire发布的webservice获取客户端ip的方法</strong>

      /**

      * 获取客户端IP地址

      * 适用于xfire发布的webservice

      * @return

      */

      public String getClientIpXfire() {

      String ip = “”;

      try {

      HttpServletRequest request = XFireServletController.getRequest();

      ip = request.getRemoteAddr();

      } catch (Exception e) {

      System.out.println(“无法获取HttpServletRequest.”);

      e.printStackTrace();

      }

      return ip;

      }

  • 相关阅读:
    登陆SharePoint站点出现service unavailable----Http错误503
    SharePoint 配置站点导航栏顶级菜单栏的下拉菜单
    修改SharePoint列表中“添加新项目”链接
    大数据应用中如何进行技术选型?
    leetcode的注意点
    架构中的权衡
    数学与计算机
    论一个技术管理者的(工作中)无中生有的能力
    通过日志分析程序的问题的原因
    后续使用dubbo的必要性的思考
  • 原文地址:https://www.cnblogs.com/cotty/p/2557457.html
Copyright © 2011-2022 走看看