Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-30851

[QE](8.0.z) can't deploy deployments using SOAP over JMS with remoting protocols

XMLWordPrintable

      After the upgrade to CXF 4.0.9 (JBEAP-30733) there's now a whitelist of protocols that can be used in JNDI URLs (added in commit 91d7869d ).

      The jboss remoting protocols used for JMS over SOAP are not part of that whitelist causing deployment failures with the following error:

      ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC000001: Failed to start service jboss.deployment.unit."jaxws-cxf-jms-api.war".INSTALL: org.jboss.msc.service.StartException in service jboss.deployment.unit."jaxws-cxf-jms-api.war".INSTALL: WFLYSRV0153: Failed to process phase INSTALL of deployment "jaxws-cxf-jms-api.war"
      	at org.jboss.as.server@21.0.17.Final-redhat-00001//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:189)
      	at org.jboss.msc@1.5.1.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1617)
      	at org.jboss.msc@1.5.1.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1580)
      	at org.jboss.msc@1.5.1.Final-redhat-00001//org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1438)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final-redhat-00001//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1363)
      	at java.base/java.lang.Thread.run(Thread.java:829)
      Caused by: jakarta.xml.ws.WebServiceException: java.lang.IllegalArgumentException: Unsafe protocol in JNDI URL: 
      	at org.apache.cxf.impl//org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:373)
      	at org.jboss.ws.cxf.jbossws-cxf-server@7.3.3.Final-redhat-00001//org.jboss.wsf.stack.cxf.deployment.EndpointImpl.doPublish(EndpointImpl.java:77)
      	at org.apache.cxf.impl//org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:255)
      	at org.apache.cxf.impl//org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:541)
      	at org.jboss.ws.cxf.jbossws-cxf-server@7.3.3.Final-redhat-00001//org.jboss.wsf.stack.cxf.configuration.BusHolder.configure(BusHolder.java:233)
      	at org.jboss.ws.cxf.jbossws-cxf-server@7.3.3.Final-redhat-00001//org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.startDeploymentBus(BusDeploymentAspect.java:96)
      	at org.jboss.ws.cxf.jbossws-cxf-server@7.3.3.Final-redhat-00001//org.jboss.wsf.stack.cxf.deployment.aspect.BusDeploymentAspect.start(BusDeploymentAspect.java:57)
      	at org.jboss.as.webservices//org.jboss.as.webservices.deployers.AspectDeploymentProcessor.deploy(AspectDeploymentProcessor.java:73)
      	at org.jboss.as.server@21.0.17.Final-redhat-00001//org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:182)
      	... 8 more
      Caused by: java.lang.IllegalArgumentException: Unsafe protocol in JNDI URL: 
      	at org.apache.cxf.impl//org.apache.cxf.transport.jms.util.JndiHelper.<init>(JndiHelper.java:45)
      	at org.apache.cxf.impl//org.apache.cxf.transport.jms.JMSConfiguration.getConnectionFactoryFromJndi(JMSConfiguration.java:396)
      	at org.apache.cxf.impl//org.apache.cxf.transport.jms.JMSConfiguration.getConnectionFactory(JMSConfiguration.java:378)
      	at org.apache.cxf.impl//org.apache.cxf.transport.jms.JMSConfiguration.ensureProperlyConfigured(JMSConfiguration.java:111)
      	at org.apache.cxf.impl//org.apache.cxf.transport.jms.JMSDestination.activate(JMSDestination.java:106)
      	at org.apache.cxf@4.0.9.redhat-00001//org.apache.cxf.transport.AbstractObservable.setMessageObserver(AbstractObservable.java:53)
      	at org.apache.cxf@4.0.9.redhat-00001//org.apache.cxf.binding.AbstractBindingFactory.addListener(AbstractBindingFactory.java:95)
      	at org.apache.cxf.impl//org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFactory.java:894)
      	at org.apache.cxf@4.0.9.redhat-00001//org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:130)
      	at org.apache.cxf.impl//org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:364)
      	... 16 more
      

      The list is hardcoded and there doesn't seem to be a way how to configure this behavior.
      This is a regression against Update 9.0

              ropalka Richard Opalka
              pmackay@redhat.com Peter Mackay
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: