Я хотел бы поместить файл cookie из "PUT webservice result" в "POST webservice" с помощью API Джерси.
Вот мой код
WebResource service1 = client.resource("http://test.com");
ClientResponse logResponse = service1.accept(MediaType.APPLICATION_XML).put(ClientResponse.class, "<?xml version='1.0'?><test>1</test>");
WebResource service2 = client.resource("http://test.com/post");
WebResource.Builder builder = service2.getRequestBuilder();
for(Cookie c : logResponse.getCookies())
{
if(c.getName().equals("SESSID"))
builder = builder.cookie(c);
}
ClientResponse test = builder.accept(MediaType.TEXT_XML).post(ClientResponse.class, "<?xml version='1.0'?><post>abc</post>");
Я подумал, что если я установлю cookie с помощью метода "Builder.cookie", значение cookie будет добавлено в заголовок запроса для веб-службы POST.
Таким образом, в этом случае файл cookie веб-службы PUT будет установлен в веб-службу POST.
Однако, если я проверяю заголовок (методами logResponse.getHeaders()
и test.getHeaders()
) после двух веб-служб, первая веб-служба PUT содержит файлы cookie, а вторая веб-служба POST не имеет файлов cookie.
Кто-нибудь может помочь мне сохранить cookie между двумя веб-сервисами?