我有一個獨立的Web服務客戶端。當調用任何web方法時,附加的「cookie」字符串必須是隱含地傳遞給WS的(而不是web方法參數)。另一端的WS必須能夠獲得字符串並使用它。這怎麼能實現?每個網絡服務呼叫自動傳遞一個cookie
我調用該服務以下列方式:
Service srv = Service.create(new URL(WSDL), QNAME);
myClassPort = srv.getPort(MyClass.class);
我需要的是把一些代碼的第一行之前,這將使客戶端每次調用一些偏遠的時間發送這種「餅乾」的字符串方法通過myClassPort。謝謝。
「所以你不應該在Web服務中使用cookies或HTTP會話,作爲響應的一部分返回一個令牌ID,然後客戶端可以將下一個請求一起發送。 Thx爲您的答案!你能解釋一下你爲什麼提到這個嗎?這正是讓客戶端隱式發送一些ID **而不是每個Web方法的明確參數的要點。 – azerIO 2012-04-19 09:43:00
在我的建議中,客戶端必須明確發送令牌ID。如果您可以控制所有客戶端,Cookie可能是一種選擇,如果不是這樣的話,Cookie通常不適用於Web服務。 – andih 2012-04-19 11:13:11
您能否在我可以控制所有客戶端的用例中添加更多信息?是否可以使用**'java.net.CookieHandler' **,或者將'javax.xml.ws.session.maintain'設置爲最佳方法? – mike 2015-12-10 15:55:46