[jboss-jira] [JBoss JIRA] Created: (JBAS-8917) Invocation of @Oneway service breaks Weld injection

gressho (JIRA) jira-events at lists.jboss.org
Wed Mar 2 10:54:06 EST 2011


Invocation of @Oneway service breaks Weld injection
---------------------------------------------------

                 Key: JBAS-8917
                 URL: https://issues.jboss.org/browse/JBAS-8917
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 6.0.0.Final
            Reporter: gressho


Calling a webservice operation which is annotated as @Oneway results in the following exception:

2011-03-02 16:15:46,134 ERROR [org.jboss.webservices.integration.weld.WeldInvocationHandler] (default-workqueue-1) Method invocation failed with exception: Unable to locate BeanManager: java.lang.IllegalStateException: Unable to locate BeanManager
        at org.jboss.webservices.integration.weld.WeldInvocationHandler.handleWeldInjection(WeldInvocationHandler.java:84) [:6.0.0.Final]
        at org.jboss.webservices.integration.weld.WeldInvocationHandler.onEndpointInstantiated(WeldInvocationHandler.java:56) [:6.0.0.Final]
        at org.jboss.wsf.common.invocation.AbstractInvocationHandlerJSE.init(AbstractInvocationHandlerJSE.java:59) [:1.4.1.GA]
        at org.jboss.wsf.common.invocation.AbstractInvocationHandlerJSE.invoke(AbstractInvocationHandlerJSE.java:91) [:1.4.1.GA]
        at org.jboss.wsf.stack.cxf.AbstractInvoker._invokeInternal(AbstractInvoker.java:164) [:3.4.1.GA]
        at org.jboss.wsf.stack.cxf.AbstractInvoker.invoke(AbstractInvoker.java:112) [:3.4.1.GA]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) [:2.3.1]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_15]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_15]
        at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_15]
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) [:2.3.1]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) [:2.3.1]
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) [:2.3.1]
        at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:224) [:2.3.1]
        at org.apache.cxf.interceptor.OneWayProcessorInterceptor$1.run(OneWayProcessorInterceptor.java:105) [:2.3.1]
        at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253) [:2.3.1]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_15]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_15]
        at java.lang.Thread.run(Thread.java:619) [:1.6.0_15]

2011-03-02 16:15:46,167 WARN  [org.apache.cxf.phase.PhaseInterceptorChain] (default-workqueue-1) Application {http://vocabulary.maws2.ulb.wwu.de/}VocabulariesService#{http://vocabulary.maws2.ulb.wwu.de/}Initialise has thrown exception, unwinding now: org.apache.cxf.interceptor.Fault: Unable to locate BeanManager
        at org.jboss.wsf.stack.cxf.AbstractInvoker.createFault(AbstractInvoker.java:229) [:3.4.1.GA]
        at org.jboss.wsf.stack.cxf.AbstractInvoker._invokeInternal(AbstractInvoker.java:190) [:3.4.1.GA]
        at org.jboss.wsf.stack.cxf.AbstractInvoker.invoke(AbstractInvoker.java:112) [:3.4.1.GA]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) [:2.3.1]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) [:1.6.0_15]
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [:1.6.0_15]
        at java.util.concurrent.FutureTask.run(FutureTask.java:138) [:1.6.0_15]
        at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) [:2.3.1]
        at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) [:2.3.1]
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) [:2.3.1]
        at org.apache.cxf.phase.PhaseInterceptorChain.resume(PhaseInterceptorChain.java:224) [:2.3.1]
        at org.apache.cxf.interceptor.OneWayProcessorInterceptor$1.run(OneWayProcessorInterceptor.java:105) [:2.3.1]
        at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$2.run(AutomaticWorkQueueImpl.java:253) [:2.3.1]
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [:1.6.0_15]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [:1.6.0_15]
        at java.lang.Thread.run(Thread.java:619) [:1.6.0_15]
Caused by: java.lang.IllegalStateException: Unable to locate BeanManager
        at org.jboss.webservices.integration.weld.WeldInvocationHandler.handleWeldInjection(WeldInvocationHandler.java:84) [:6.0.0.Final]
        at org.jboss.webservices.integration.weld.WeldInvocationHandler.onEndpointInstantiated(WeldInvocationHandler.java:56) [:6.0.0.Final]
        at org.jboss.wsf.common.invocation.AbstractInvocationHandlerJSE.init(AbstractInvocationHandlerJSE.java:59) [:1.4.1.GA]
        at org.jboss.wsf.common.invocation.AbstractInvocationHandlerJSE.invoke(AbstractInvocationHandlerJSE.java:91) [:1.4.1.GA]
        at org.jboss.wsf.stack.cxf.AbstractInvoker._invokeInternal(AbstractInvoker.java:164) [:3.4.1.GA]
        ... 14 more

Source code is here, where Folders and VocabularyService are @ApplicationScoped (one @ApplicationScoped injection doesn't seem to matter!):

@WebService(name = "VocabularyService")
public class Vocabularies {

    @Inject
    private VocabularyService vocabularyService;

    @Inject
    private Folders folders;
    
    @Inject @VocabulariesHome
    private String vocabulariesHome;

    @Inject @LanguagesHome
    private String languagesHome;

    @Inject @DCMITypesHome
    private String dcmiTypesHome;

    @Inject @StatusTypesHome
    private String statusTypesHome;
    
    @Inject @DRIVERTypesHome
    private String driverTypesHome;
    
    @Inject @DNBTypesHome
    private String dnbTypesHome;
    
    @Inject @MediaTypesHome
    private String mimeTypesHome;
    
    @Inject @DDCHome
    private String ddcHome;
    
    @WebMethod(operationName = "FindAll")
    @WebResult(name = "VocabularyIds")
    public List<String> getAvailable() {
        return vocabularyService.getAvailable();
    }

    @WebMethod(operationName = "Get")
    @WebResult(name = "Vocabulary")
    public Vocabulary getVocabulary(@WebParam(name = "Id") String id) {
        Vocabulary vocabulary = new Vocabulary();
        vocabulary.setId(id);
        if (id.equals(Folders.LANGUAGES_HOME)) {
            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(languagesHome, new LanguageParser()));
        } else if (id.equals(Folders.DCMITYPES_HOME)) {
            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(dcmiTypesHome, new RdfsParser()));
        } else if (id.equals(Folders.STATUSTYPES_HOME)) {
            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(statusTypesHome, new RdfsParser()));
        } else if (id.equals(Folders.DRIVERTYPES_HOME)) {
            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(driverTypesHome, new DriverParser()));
        } else if (id.equals(Folders.DNBTYPES_HOME)) {
            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(dnbTypesHome, new RdfsParser()));
        } else if (id.equals(Folders.MEDIATYPES_HOME)) {
            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(mimeTypesHome, new RdfsParser()));
        } else if (id.equals(Folders.DDC_HOME)) {
            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(ddcHome, new DDCParser()));
        } else {
            //Bestimme Home aus der ID
//            vocabulary.setVocabularyParts(vocabularyService.getVocabulary(mimeTypesHome, new RdfsParser()));
        }
        return vocabulary;
    }
    
    @WebMethod(operationName = "Initialise")
    @Oneway
    public void initialise() {
//        folders.importLanguages();
//        folders.importDCMITypes();
//        folders.importStatusTypes();
//        folders.importDriverTypes();
//        folders.importDnbTypes();
//        folders.importMediaTypes();
//        folders.importDDC();
    }
    
}


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list