使用@WebServiceRef进行依赖注入我做错了。但是怎么样?

时间:2012-07-16 16:23:51

标签: java web-services java-ee dependency-injection apache-tomee

我在尝试注入一个完全独立于我的JVM的Web服务时遇到异常。

我的环境是TomEE v1.0.0,它是一个JEE6 webprofile容器。

ThemeQueryService是一个JAXWS带注释的接口。

@SessionScoped 
@Named("managedBeanMB") 
public class ManagedBeanMB implements Serializable { 
        private static final long serialVersionUID = 1L; 

        @WebServiceRef(
            wsdlLocation = "http://localhost:8777/services/queryService?wsdl") 
        private QueryService queryService; 
.... 
} 

稍后,我在尝试使用注入的服务时获得了NPE:

Caused by: java.lang.NullPointerException 
        at org.apache.openejb.core.ivm.naming.JaxWsServiceReference.getObject(JaxWsServiceReference.java:73) 
        at org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:173) 
        at org.apache.openejb.cdi.CdiResourceInjectionService.lookup(CdiResourceInjectionService.java:134) 
        at org.apache.openejb.cdi.CdiResourceInjectionService.fillInjectionProperties(CdiResourceInjectionService.java:112) 
        at org.apache.openejb.cdi.CdiResourceInjectionService.injectJavaEEResources(CdiResourceInjectionService.java:96) 
        at org.apache.webbeans.component.AbstractInjectionTargetBean.injectResources(AbstractInjectionTargetBean.java:432) 
        at org.apache.webbeans.portable.creation.InjectionTargetProducer.inject(InjectionTargetProducer.java:91) 
        at org.apache.webbeans.component.InjectionTargetWrapper.inject(InjectionTargetWrapper.java:79) 
        at org.apache.webbeans.component.AbstractOwbBean.create(AbstractOwbBean.java:182)

我感觉我不理解WebServiceRef ...它仅用于JNDI传输吗?

1 个答案:

答案 0 :(得分:1)