Java 从Web服务访问FacesContext

Java 从Web服务访问FacesContext,java,web-services,jsf,Java,Web Services,Jsf,我正在开发一个由我编写的客户端调用的Web服务。在web服务中,我需要使用应用程序范围的对象,这样可以减轻系统上的应用程序负载。我已经实现了应用程序范围的对象,如中所示 我可以在jsf页面中使用我的对象,没有问题,如下所示 MyObject mo = (MyObject) FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("MyObjectsName"); 但在Web服务请求FacesC

我正在开发一个由我编写的客户端调用的Web服务。在web服务中,我需要使用应用程序范围的对象,这样可以减轻系统上的应用程序负载。我已经实现了应用程序范围的对象,如中所示

我可以在jsf页面中使用我的对象,没有问题,如下所示

MyObject mo = (MyObject) FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get("MyObjectsName");

但在Web服务请求FacesContext中使用它时,getCurrentInstance()返回null。有没有办法在web服务中使用FacesContext。

它是空的,因为web服务不通过FacesServlet。这是应该的,因为web服务与JSF无关

在使用jax ws实现的情况下,可以使用:

@Resource
WebServiceContext context;
这将插入
WebServiceContext
,通过它您可以:

ServletContext servletContext = (ServletContext) 
     context.getMessageContext().get(MessageContext.SERVLET_CONTEXT);

使用
ServletContext
,您可以访问应用程序范围对象。

您的Web服务基于什么API?它运行在同一个容器/上下文中吗?我使用的是jax ws,但我没有考虑容器。如果我使用jax RS,并且我想访问ViewScope bean,有什么方法可以实现吗,Bozho?