2011-12-03 99 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中修复,但尚未发布。