Отправьте сообщение SOAP с SAAJ сервлету на Tomcat - PullRequest
0 голосов
/ 12 июля 2011

У меня есть веб-приложение, работающее на Tomcat 6, и клиентское приложение, запрограммированное на Java.Клиент отправляет SOAPMessage сервлету Proxy, который проверяет сообщение и пересылает его нужному веб-сервису.Я использую SAAJ для отправки SOAPMessage на клиенте:

    SOAPMessage soap = soapFactory.createMessage();
    SOAPBody body = soap.getSOAPBody();
    body.addDocument( document );

    SOAPConnectionFactory soapFactory = SOAPConnectionFactory.newInstance();
    SOAPConnection connection = soapFactory.createConnection();

    SOAPMessage response = connection.call(soap, PROXY_URL);

Это работает нормально, но мне нужно, чтобы сервлет Proxy реализовывал сеансы с использованием cookie (JSESSION).

Как я могу извлечь этот cookie из ответ ?Знаете ли вы, существует ли лучший способ сделать это?

1 Ответ

0 голосов
/ 13 июля 2011

@ mattevigo: я полагаю, вы смешиваете две вещи.SOAP - это протокол уровня приложения, который в вашем случае использует транспортный протокол HTTP.У вас есть возможность открыть HTTPConnection и выполнить работу более низкого уровня, и вы можете использовать HTTP cookie для управления сеансом. ИЛИ вы можете открыть SOAPConnection, чтобы напрямую работать с сообщениями SOAP на более высоком уровне. Я считаю, что SAAJ api как таковой не позволяет вам работать с данными HTTP напрямую.,Что вы можете сделать, это открыть HTTP-соединение для связи и использовать SAAJ API для анализа входящего XML и извлечения данных.

...