CXF获取客户端IP(解决WebServiceContext为null问题)

Posted on

CXF获取客户端IP(解决WebServiceContext为null问题)

网络上很多文章都是这样配的: 1

2 3

4 5

6 7

8 @Resource

private

WebServiceContext wscontext;

public

String getIP(){

MessageContext ctx = wscontext.getMessageContext();

HttpServletRequest request = (HttpServletRequest)ctx.ge(AbstractHTTPDestination.HTTP_REQUEST);

return

request.getRemoteAddr();

}

但是在我测试的过程中,发现如果把这段代码写在aop切点中,wscontext就是null,如果写在普通的实现类,就可以正常获取。其实很多帖子也说到null的问题,但最后都没解决。

现在在这里发现另一种方法,经测试完全有效: 1

2 3 Message message = PhaseInterceptorChain.getCurrentMessage();

HttpServletRequest httprequest = (HttpServletRequest)message.get(AbstractHTTPDestination.HTTP_REQUEST); return

httprequest.getRemoteAddr(); 来源: [https://linchunyu.info/81/cxf_fetch_request_ip.html](https://linchunyu.info/81/cxf_fetch_request_ip.html)

希望本站内容对您有点用处,有什么疑问或建议请在后面留言评论
转载请注明作者(RobinChia)和出处 It so life ,请勿用于任何商业用途