[英]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.