在我的Web服务中,我有:
@WebService(serviceName = "myservice")
public class ServiceName{
@Resource
private WebServiceContext context;
在无状态类中,我想使用相同的操作:
@Stateless
public class MakeHappen{
@Resource
private WebServiceContext context;
但是我收到一个EJB异常。如何在Webservice之外注入此资源?
最佳答案
AFAIK否,仅在Web服务的上下文中。
见Interface WebServiceContext
WebServiceContext
使Web服务端点成为可能
访问消息上下文和安全性的实现类
与正在处理的请求有关的信息。通常是
WebServiceContext
被注入到端点实现类中
使用@Resource
注释。
在您的情况下,您应该将无状态EJB装饰为Webservice。无状态EJB的开放方法可以表示为Web服务。
@Stateless
@WebService
public class MakeHappen {
@Resource
private WebServiceContext context;
...