使用AXIS2从SOAP响应中提取cookie

时间:2014-10-07 20:50:35

标签: java web-services cookies soap axis2

我正在使用AXIS2存根使用第三方Web服务。我使用的主要方法是FINE并具有以下签名:

boolean isValidUser(username, password);

webservice应该在响应头中返回一个String(令牌)作为cookie: - WSToken

但是我找不到任何从响应中提取标题和cookie的方法。事实上,没有HTTPResponse对象来获取cookie!。

我试过这段代码:

MessageContext context = stub._getServiceClient().getLastOperationContext().getMessageContext(WSDLConstants.MESSAGE_LABEL_IN_VALUE);
Object response = context.getProperty("response");

但它返回一个空值,因为上下文中没有这样的属性。上下文具有以下属性:

transport.http.statusCode
CHARACTER_SET_ENCODING
TRANSPORT_HEADERS
org.apache.axiom.om.util.DetachableInputStream
messageType
ContentType
TRANSPORT_IN

如何使用存根从响应中获取名为“WSToken”的cookie?

1 个答案:

答案 0 :(得分:0)

TRANSPORT_HEADERS属性应该为您提供HTTP头。然后,您可以查找Set-Cookie标题。