[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