如何在Web服务上工作时获取会话对象?
如何在Web服务上工作时获取会话对象?
服务在两个程序之间调用。 如何使用webservices处理用户会话对象。 使用请求对象无法获取会话,因为在讨论服务时不会有请求或响应。
如果您正在使用JAX-WS来创建Web服务,那么您可以通过WebServiceContext访问HttpServletRequest
对象(以及您的HttpSession
对象)。
@WebService(...) public class MyService { @Resource private WebServiceContext ctx; private HttpSession getSession() { HttpServletRequest req = (HttpServletRequest) this.ctx.getMessageContext() .get(MessageContext.SERVLET_REQUEST); return req.getSession(); } }
有关更广泛的示例,请参阅Art Frechette的“使用JAX-WS 2.0维护会话” 。