从Web服务客户端设置HTTP Servlet Cookie

时间:2015-03-07 06:02:17

标签: java web-services rest soap-client webservice-client

我想从Web服务客户端设置一个http servlet cookie,我想在服务器端检查它是否安全。我正在使用JAX-WS Web服务。我从客户端尝试了以下代码。但这对我不起作用。所以请任何人帮我解决这个问题。谢谢。

((BindingProvider)webservicePort).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY,true);
Map<String, Object> req_ctx = ((BindingProvider)webservicePort).getRequestContext();
Map<String, List<String>> headers = new HashMap<String, List<String>>();
headers.put("Cookie", Collections.singletonList("SAMPLE_COOKIE"));
req_ctx.put(MessageContext.SERVLET_REQUEST, headers);

1 个答案:

答案 0 :(得分:1)

以下代码正常工作。这将在服务器端提供cookie。

BindingProvider bindingProvider = (BindingProvider) Port;
        Map<String,Object> requestContext = bindingProvider.getRequestContext();
        Map<String, List<String>> requestHeaders = new HashMap<String, List<String>>();
        List<String> cookies = new ArrayList<String>();
        cookies.add("SMSESSION=testCookie");
        requestHeaders.put("Cookie", cookies);
        requestContext.put(MessageContext.HTTP_REQUEST_HEADERS, requestHeaders);