繁体   English   中英

如何在没有Servlet筛选器的情况下在JAX RPC Web服务中获取客户端的IP?

[英]How to get client's IP in JAX RPC web services without Servlet Filter?

我必须记录使用我的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。 n

这对我有用:)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM