2008-10-11 59 views
2

我們有一個Web服務,部署在不同位置的兩臺獨立機器上。有沒有可能監控一個人用java代碼調用我們的webservice的url?我們建立了一個3DNS網址,我們希望所有的客戶端都使用這個網址,因爲它們直接在網址中輸入正確的端口號。在Java Webservice中檢索調用URL

感謝 達明

回答

2

你已經採取了看看:

@Resource 
WebServiceContext wsContext; 

這將返回發送到您的Web服務的當前消息的情況下。我已經能夠從中獲得用戶的IP地址。

這是假設您正在使用Java。

0

你可能會考慮像OWSM(Oracle Web服務管理器)......有可能是開源的替代品。

OWSM創建一個它處理並路由到實際服務主機的虛擬端點。這樣,您的服務主機可以隱藏在防火牆後面,只有OWSM主機可以在全世界看到。當用戶點擊虛擬端點時,OWSM可以進行身份​​驗證並將它們傳遞給平衡服務主機。

0

另一種方法可能是在真實端點上使用servlet過濾器。過濾器可以做幾件不同的事情。它可以簡單地從HttpServletRequest中記錄請求的URL,或者甚至可以重定向到正確的URL(我不確定這對於Web服務會有什麼影響)。

您只需將過濾器映射到與Web服務相同的上下文路徑(例如,軸使用/ services/*)即可。