基于JWS的Webservice,如何获取访问过来的客户端的真实IP,真实的IP

我的WebService是JWS的,我想要获取访问我接口的客户端的真实IP,而不是路由器分配的虚拟IP。
我的方法:

@Resource
    private WebServiceContext webServiceContext;
        MessageContext mc = webServiceContext.getMessageContext();
        HttpExchange exchange = (HttpExchange)mc.get(JAXWSProperties.HTTP_EXCHANGE);
        InetSocketAddress isa = exchange.getRemoteAddress();
        ip = isa.getAddress().getHostAddress(); //获取IP

但是这种方式获取到的IP 并不是真实的,但是网上的解决方法都是这个。
另外还有人说获取HttpServletRequest

HttpServletRequest request= (HttpServletRequest)(mc.get(MessageContext.SERVLET_REQUEST));

但是获取到的HttpServletRequest始终为NULL。
至此,我还是没有解决方法。。如何获取客户端的真实IP,请各位大神帮帮忙

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!