如何在Web服务上工作时获取会话对象? [英] How to get session object while working on webservices?

查看:119
本文介绍了如何在Web服务上工作时获取会话对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何在处理webservices时获取会话对象?

How to get session object while working on webservices?

在两个程序之间调用服务。如何使用webservices处理用户会话对象。我们无法使用请求对象获取会话,因为在讨论服务时不会有请求或响应。​​

Services are called between two programs. How to get user session object while workin with webservices. It is not possible to get session using request object as there will not be request or response when we talk about services.

推荐答案

如果您正在使用 JAX-WS 来创建您的Web服务,然后您可以访问 HttpServletRequest 对象(以及 HttpSession 对象)通过 WebServiceContext

If you're working with JAX-WS to create your web services, then you can access the HttpServletRequest object (and hence your HttpSession object) via the WebServiceContext.

@WebService(...)
public class MyService {
    @Resource
    private WebServiceContext ctx;

    private HttpSession getSession() {
        HttpServletRequest req = (HttpServletRequest) this.ctx.getMessageContext()
                .get(MessageContext.SERVLET_REQUEST);
        return req.getSession();
    }
}

有关更广泛的示例,请参阅,例如,<一个href =http://blogs.oracle.com/artf/entry/maintaining_sessions_using_jax_ws =nofollow noreferrer>使用JAX-WS 2.0维护会话由Art Frechette提供。

For a more extensive example, see, e.g., "Maintaining sessions using JAX-WS 2.0" by Art Frechette.

这篇关于如何在Web服务上工作时获取会话对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆