2009-11-10 65 views
0

的調用的名稱/身份我有一個SOAP的Web服務,我使用Axis2從兩個客戶端調用。 Web服務可以知道這兩個客戶端來自哪個客戶端?如果是這樣,我怎麼知道在運行時?是否提供了API來查找該Web服務調用特定Web服務的名稱。謝謝。Web服務

回答

0

一般不 - HTTP頭有時包含一些信息,但是這取決於客戶端。確定你的調用者的最好方法是在你的客戶端和服務之間傳遞一些已知的上下文,比如ID。這可以在SOAP主體被髮送(作爲參數傳遞給服務),在SOAP報頭或作爲傳輸協議的部分(如使用HTTP會話cookie)。

不同的地方舉行的背景下,使不同的行爲可能 - 在SOAP體意味着你可以使用你的服務實現做處理(也許在運行數據庫查詢或相似);在SOAP Header中,您可以將頭處理程序添加到需要上下文的所有服務並正確設置服務調用;在傳輸協議意味着該上下文從SOAP消息離異,和傳輸處理程序可用於上下文相關。