我试图在 Web 服务中注入托管 Bean,但注入的 Bean 始终为空。有谁知道为什么,如果是的话,您可以提供一些提示或解决方法吗?
@WebService(targetNamespace = "http://impl.soap.valueservice.drivelog.com/", endpointInterface = "com.drivelog.valueservice.soap.impl.ValueService", portName = "ValueServiceImplPort", serviceName = "ValueServiceImplService")
public class ValueServiceImpl implements ValueService {
@Inject
private ValueServiceFacade valueBean;
...
}
@ManagedBean
public class ValueServiceFacadeImpl implements ValueServiceFacade {
...
}
这实在是太尴尬了。
根据这篇博文(https://weblogs.java.net/blog/jitu/archive/2010/02/19/jax-ws-cdi-java-ee-6-0 https://weblogs.java.net/blog/jitu/archive/2010/02/19/jax-ws-cdi-java-ee-6-0)和这篇文章(https://blogs.oracle.com/arungupta/entry/totd_124_using_cdi_jpa https://blogs.oracle.com/arungupta/entry/totd_124_using_cdi_jpa),这应该可以工作,但我无法在此处使用 TomEE 使其工作。
这里还有一些关于 JSR 的讨论(https://bugzilla.redhat.com/show_bug.cgi?id=1001610 https://bugzilla.redhat.com/show_bug.cgi?id=1001610)但我真的无法告诉你为什么它不起作用。
对于 TomEE (openEJB),我能找到的只是很多已解决的问题(与https://issues.apache.org/jira/browse/OPENEJB-1592 https://issues.apache.org/jira/browse/OPENEJB-1592)并带有可怕的注释“所有都已完成认证”,也许 JEE Web Profile 不需要使这些一起工作,而实现完整 EJB Profile 的 Geronimo 可能需要使用它。
另请参阅Java EE 6 WebService 和 CDI 注入 https://stackoverflow.com/questions/9848549/java-ee-6-webservice-and-cdi-injection
所以我真的无法回答这个问题。同时,我会要求您向我们提供一些有关您正在使用的容器的更多信息,以便我们更好地为您提供帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)