【问题标题】:How to get client's IP in JAX RPC web services without Servlet Filter?如何在没有 Servlet 过滤器的情况下在 JAX RPC Web 服务中获取客户端的 IP?
【发布时间】:2015-05-27 07:54:17
【问题描述】:

我必须记录使用我的 JAX RPC Web 服务服务器的客户端的 IP 地址。

IBM 建议使用 servlet 过滤器并使用 HTTP 请求获取 IP: http://www-01.ibm.com/support/docview.wss?uid=swg21304368

是否有不同的方式来获取请求? 我在服务器端使用 IBM WAS 8.5 和 SOAP 1.2。 谢谢

【问题讨论】:

    标签: java web-services ip soap-client jax-rpc


    【解决方案1】:

    这对我有用:)

    import com.ibm.ws.webservices.engine.MessageContext;
    import com.ibm.ws.webservices.engine.transport.http.HTTPConstants;
    

    .....

    HttpServletRequest request = (HttpServletRequest) MessageContext.getCurrentThreadsContext().getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST);
    
    String clientIpAddress = request.getHeader("X-FORWARDED-FOR");
    
    if (clientIpAddress == null) {
        clientIpAddress = request.getRemoteAddr();
    }
    
    System.out.println(clientIpAddress);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-26
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-01
      相关资源
      最近更新 更多