1

JVM とは完全に別の Web サービスを注入しようとすると、例外が発生します。

私の環境は、JEE6 webprofile コンテナーである TomEE v1.0.0 です。

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 トランスポートのみに使用されますか?

4

1 に答える 1

1

TomEE (webprofile) ではなく、TomEE+ を使用する必要があります。

ここを参照してください: http://openejb.979440.n4.nabble.com/JEE-Dependency-Injection-failure-on-WebServiceRef-results-in-bizzare-NullPointerException-td4656360.html#a4656377

于 2012-07-18T15:02:18.910 に答える