SoapOverJMS: ConnectionFactory may not be null
patst Jan 19, 2017 2:50 AMHey there,
I'm not sure if this is the correct space for the question, but anyways:
I'm trying to get SoapOverJMS working on Wildfly 10.1.0 but I'm strugging with the configuration.
I started with the jboss-helloworld-mdb project and created a 'HelloWorldService.wsdl' (Copied from the docs: SOAP over JMS - WildFly 10 - Project Documentation Editor ).
Then I used wsconsume to create the java classes from the wsdl and created a 'HelloWorldImpl' class (copied from the docs) implementing the 'HelloWorld' service interface.
If i deploy the war file I always get an exception:
08:36:06,399 INFO  [org.jboss.ws.cxf.metadata] (MSC service thread 1-4) JBWS024061: Adding service endpoint metadata: id=org.jboss.ws.impl.HelloWorldImpl
 address=jms:queue:testQueue
 implementor=org.jboss.ws.impl.HelloWorldImpl
 serviceName={http://org.jboss.ws/jaxws/cxf/jms}HelloWorldServiceLocal
 portName={http://org.jboss.ws/jaxws/cxf/jms}HelloWorldImplPort
 annotationWsdlLocation=META-INF/wsdl/HelloWorldService.wsdl
 wsdlLocationOverride=null
 mtomEnabled=false
08:36:06,415 INFO  [org.apache.cxf.wsdl.service.factory.ReflectionServiceFactoryBean] (MSC service thread 1-4) Creating Service {http://org.jboss.ws/jaxws/cxf/jms}HelloWorldServiceLocal from WSDL: META-INF/wsdl/HelloWorldService.wsdl
08:36:06,446 INFO  [org.apache.cxf.endpoint.ServerImpl] (MSC service thread 1-4) Setting the server's publish address to be jms:queue:testQueue
08:36:06,446 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-4) MSC000001: Failed to start service jboss.deployment.unit."jboss-helloworld-mdb.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."jboss-helloworld-mdb.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "jboss-helloworld-mdb.war"
  at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:154)
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.ws.WebServiceException: java.lang.IllegalArgumentException: connectionFactory may not be null
  at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:375)
  at org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:79)
  at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:255)
  at org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:543)
  at org.jboss.wsf.stack.cxf.configuration.BusHolder.configure(BusHolder.java:234)
  at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:97)
  at org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:59)
  at org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:73)
  at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
  ... 5 more
Caused by: java.lang.IllegalArgumentException: connectionFactory may not be null
  at org.apache.cxf.transport.jms.JMSConfiguration.ensureProperlyConfigured(JMSConfiguration.java:102)
  at org.apache.cxf.transport.jms.JMSDestination.activate(JMSDestination.java:104)
  at org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:53)
  at org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:95)
  at org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:896)
  at org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:123)
  at org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:366)
  ... 13 more
08:36:06,446 ERROR [org.jboss.as.controller.management-operation] (DeploymentScanner-threads - 2) WFLYCTL0013: Operation ("full-replace-deployment") failed - address: ([]) - failure description: {
    "WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"jboss-helloworld-mdb.war\".INSTALL" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"jboss-helloworld-mdb.war\".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment \"jboss-helloworld-mdb.war\"
    Caused by: javax.xml.ws.WebServiceException: java.lang.IllegalArgumentException: connectionFactory may not be null
    Caused by: java.lang.IllegalArgumentException: connectionFactory may not be null"},
    "WFLYCTL0412: Required services that are not installed:" => [
        "jboss.deployment.unit.\"jboss-helloworld-mdb.war\".INSTALL",
        "jboss.deployment.unit.\"jboss-helloworld-mdb.war\".beanmanager"
    ],
    "WFLYCTL0180: Services with missing/unavailable dependencies" => [
        "jboss.deployment.unit.\"jboss-helloworld-mdb.war\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"jboss-helloworld-mdb.war\".beanmanager]",
        "jboss.deployment.unit.\"jboss-helloworld-mdb.war\".batch.environment is missing [jboss.deployment.unit.\"jboss-helloworld-mdb.war\".beanmanager]"
    ]
}
Which part am I missing here? The docs say I have to add the module 'org.hornetq' to my dependencies, but I'm doubting this is correct. The module does not exist anymore.
I tried 'org.apache.activemq.artemis', 'org.apache.cxf' and 'org.apache.cxf.impl' but I does not change anything.
What can I do to get SoapOverJms running?