如何在webservice主机上获取webservice客户端信息

时间:2017-10-19 05:33:59

标签: java web-services netbeans-8

我已经使用Netbeans在计算机A上部署了一些Web服务,我试图在有人试图访问它们时记录时间和IP信息。 我尝试了以下代码段。

HttpServletRequest req = (HttpServletRequest) 
mc.get(MessageContext.SERVLET_REQUEST);
System.out.println("Client IP = " + req.getRemoteAddr());
System.out.println(req.getRemoteHost());

但输出显示机器A的IP。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

虽然这与您尝试过的类似,但它对我来说是一个SOAP请求。

@Resource
WebServiceContext wsContext;

HttpServletRequest request = (HttpServletRequest)wsContext.getMessageContext().get(SOAPMessageContext.SERVLET_REQUEST);

String remoteIp = request.getRemoteAddr();
String remoteUser = request.getRemoteUser();
String remoteHost = request.getRemoteHost();