当使用上下文设置时,在JAXWS中的HTTP请求中没有设置Cookie

时间:2011-12-03 18:25:32

标签: cookies jax-ws

我正在尝试使用下面的代码片段从客户端设置cookie,我正在使用JAXWS RI 2.2.3。

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标头:{Cookie = [mysession =“529fc605-8188-7f3b-21ad-92407976d5a9”;],Accept-Encoding = [gzip],Content-Encoding = [gzip]}

--- [HTTP请求 - https://10.112.83.155:443/eam/sdk/]---接受:text / xml,multipart / related Accept-Encoding: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 -

1 个答案:

答案 0 :(得分:2)

这是JAX-WS中的一个错误。错误链接:JAX_WS-1044

目前已在JAX-WS 2.2.7中修复,尚未发布。