2017-10-19 126 views
0

我有一个使用NetBeans,我试图登录的时间和IP信息,当有人试图访问它们部署一台机器上的一些web服务。 我试过下面的代码片段。如何获得WebService的Web服务客户端的信息托管机

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

但输出显示机器A.

任何建议的IP?

回答

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();  
+0

感谢“notyou”。仍然显示服务器的IP。 –

+0

@MohsinJavaid - 并不想成为滑稽这里 - 你肯定* *它不是机器主叫你的web服务? – notyou

+0

nop。我从我的笔记本电脑发送请求(机器B)。 Web服务托管在服务器机器上(机器A)。 –