Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web services JavaEE6WebService和CDI注入_Web Services_Java Ee 6_Cdi - Fatal编程技术网

Web services JavaEE6WebService和CDI注入

Web services JavaEE6WebService和CDI注入,web-services,java-ee-6,cdi,Web Services,Java Ee 6,Cdi,这是我从JavaEE5迁移中得到的一个澄清问题。我目前正在开发一个打包在WAR文件中的JavaEE6Web服务,我想知道是否有可能在其上使用CDI。我见过一些使用@Stateless注释的例子,这在战争中是不可能做到的(据我所知) 目前的执行情况: @WebService public class MyService{ @Inject HelloTeller teller: @WebMethod public String sayHello(){

这是我从JavaEE5迁移中得到的一个澄清问题。我目前正在开发一个打包在WAR文件中的JavaEE6Web服务,我想知道是否有可能在其上使用CDI。我见过一些使用
@Stateless
注释的例子,这在战争中是不可能做到的(据我所知)

目前的执行情况:

@WebService
public class MyService{

    @Inject 
    HelloTeller teller:

    @WebMethod
    public String sayHello(){
        teller.sayHello();
    }
}

注意:另一种方法是专门为此web服务创建一个EJB模块。

在EE6中,您应该能够在战争中使用SLSB作为JAX-WS端点。您可以从CDI注入EJB、请求范围和应用程序范围的bean。

我已经尝试过,但注入的字段总是空的。我可以让它在单独的纯ejb项目中工作,但不能在WAR中工作。有arquillian测试或简单的WAR/github项目吗?@Timoteo Ponce:您的WEB-INF目录中有beans.xml文件吗?没有CDI,CDI就不起作用。添加这个文件,人们常常会忘记……有趣的是,这种方法在JBoss-7.0.1中失败了,但同样的代码在JBoss-7.1.1.7.0.1中运行得很好。1是唯一经过web配置文件认证的,7.1是完整的配置文件。这就是你的区别。