将带有SAAJ的SOAPMessage发送到Tomcat上的servlet

时间:2011-07-12 13:11:38

标签: tomcat java-ee servlets saaj

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

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

1 个答案:

答案 0 :(得分:0)

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