GreeterService service = new GreeterService();
assertNotNull(service);
try {
Greeter greeter = service.getGreeterPort();
BindingProvider bp = (BindingProvider)greeter;
updateAddressPort(bp, PORT);
bp.getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY, true);
Map<String, List<String>> headers
= CastUtils.cast((Map)bp.getRequestContext().get("javax.xml.ws.http.request.headers"));
if (headers == null) {
headers = new HashMap<String, List<String>>();
bp.getRequestContext()
.put("javax.xml.ws.http.request.headers", headers);
}
List<String> cookies = Arrays.asList(new String[] {"a=a", "b=b"});
headers.put("Cookie", cookies);
String greeting = greeter.greetMe("Bonjour");
String cookie = "";
if (greeting.indexOf(';') != -1) {
cookie = greeting.substring(greeting.indexOf(';'));
greeting = greeting.substring(0, greeting.indexOf(';'));
}
assertNotNull("no response received from service", greeting);
assertEquals("Hello Bonjour", greeting);
assertTrue(cookie.contains("a=a"));
assertTrue(cookie.contains("b=b"));
greeting = greeter.greetMe("Hello");
cookie = "";
if (greeting.indexOf(';') != -1) {
cookie = greeting.substring(greeting.indexOf(';'));
greeting = greeting.substring(0, greeting.indexOf(';'));
}
assertNotNull("no response received from service", greeting);
assertEquals("Hello Bonjour", greeting);
assertTrue(cookie.contains("a=a"));
assertTrue(cookie.contains("b=b"));
greeting = greeter.greetMe("NiHao");
cookie = "";
if (greeting.indexOf(';') != -1) {
cookie = greeting.substring(greeting.indexOf(';'));
greeting = greeting.substring(0, greeting.indexOf(';'));
}