我正在尝试使用下面的代码片段从客户端设置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 Content-Encoding:gzip Content-Type: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-
最佳答案 这是JAX-WS中的一个错误.错误链接:
JAX_WS-1044
目前已在JAX-WS 2.2.7中修复,尚未发布.