我正在使用apache axis2服务器webservies,基本上我通过webservices向android客户端发送xml响应。在这里,我需要维护会话,因为每个用户的服务。我知道在webservices中维护会话是个坏主意,但是不能避免它。
实际上,当用户从android客户端调用第一个服务时,我需要生成随机唯一字符串,该随机字符串将用作会话ID。这个会话ID,我需要在http自定义标头中设置,以便android客户端能够获取它并且也可以发送它后续请求。
我想知道axis2中是否有任何API可用于在http标头上设置自定义标头信息。同样的方法我需要读取http标头,以便下一个请求我可以从标头获取会话ID。
任何人都可以就此提出建议吗?感谢
-Ravi
答案 0 :(得分:0)
答案 1 :(得分:0)
关于@MartinDürrmeier的答案的死链接,这是我在web.archive.org上找到的网页的快照:Axis2 - Setting custom HTTP Headers on a response,它帮助了我。
以下是所需的行:
MessageContext responseMessageContext =
MessageContext.getCurrentMessageContext().getOperationContext().getMessageContext(
WSDLConstants.MESSAGE_LABEL_OUT_VALUE);
List<Header> headers = new ArrayList<Header>();
headers.add(new Header(HTTPConstants.HEADER_CONTENT_ENCODING, "identity"));
responseMessageContext.setProperty(HTTPConstants.HTTP_HEADERS, headers);