我正在使用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?
答案 0 :(得分:0)
TRANSPORT_HEADERS属性应该为您提供HTTP头。然后,您可以查找Set-Cookie
标题。