2017-10-19 127 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)。 –