2011-12-03 96 views
4

我正嘗試使用下面的代碼片段設置客戶端的Cookie,我使用的是JAXWS RI 2.2.3。使用上下文設置Cookie時,JAXWS中的HTTP請求中未設置Cookie

Map<String, Object> ctxt = ((BindingProvider) portType).getRequestContext(); 
Map<String, List<String>> httpHeaders = new HashMap<String, List<String>>(); 
httpHeaders.put("Content-Encoding", Collections.singletonList("gzip")); 
httpHeaders.put("Cookie", Collections.singletonList(cookie)); 
ctxt.put(MessageContext.HTTP_REQUEST_HEADERS, httpHeaders); 

從SOAP日誌中我看到Cookie沒有被設置,但它設置在上下文頭中。 任何其他頭部正在設置除Cookie以外,我無法找出原因。 我需要從一個服務中獲得一個會話,並將其設置爲另一個服務以使用它,但我無法在此處這樣做。

HTTP標頭:{曲奇= [MySession的= 「529fc605-8188-7f3b-21ad-92407976d5a9」],接受編碼= [gzip的],內容編碼= [gzip的]}

--- [HTTP請求 - https://10.112.83.155:443/eam/sdk/]---接受:text/xml,multipart/related接受編碼:gzip內容編碼:gzip內容類型:text/xml; charset = utf-8 [] Set-Cookie:vmware_soap_session =「529fc605-8188-7f3b-21ad-92407976d5a9」; SOAPAction:「urn:internaleam/2.0」User-Agent:JAX-WS RI 2.2.3-b01-

回答

2

這是JAX-WS中的一個錯誤。錯誤鏈接:JAX_WS-1044

目前已在JAX-WS 2.2.7中修復,但尚未發佈。