我想从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);
答案 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);