0

我有一个在 Tomcat 6 上运行的 Web 应用程序和一个 Java 编程的客户端应用程序。客户端将 SOAPMessage 发送到验证消息并将其转发到正确的 Web 服务的代理 servlet。我使用 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);

这工作正常,但我需要代理 servlet 使用 cookie (JSESSION) 实现会话。

如何从响应中检索该 cookie ?你知道是否存在更好的方法吗?

4

1 回答 1

1

@mattevigo:我相信你混合了两件事。SOAP 是一种应用程序级协议,在您的情况下使用 HTTP 传输协议。您可以选择打开 HTTPConnection 并执行较低级别的工作,并且可以使用 HTTP cookie 进行会话管理,或者您可以打开 SOAPConnection 以直接处理更高级别的 SOAP 消息。我相信 SAAJ api 本身不会让您直接处理 HTTP 数据. 您可以做的是打开 HTTP 连接进行通信并使用 SAAJ API 解析传入的 XML 并获取数据。

于 2011-07-13T12:06:59.617 回答