-
Bug
-
Resolution: Done
-
Blocker
-
8.0 Update 9.1
-
None
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
- clones
-
JBEAP-30854 [QE](8.1.z) can't deploy deployments using SOAP over JMS with remoting protocols
-
- Verified
-
- is incorporated by
-
JBEAP-30886 (8.0.z) Upgrade Apache CXF from 4.0.9.redhat-00001 to 4.0.9.redhat-00002
-
- Closed
-
-
JBEAP-30888 (8.0.z) Upgrade JBossWS-CXF from 7.3.3.Final-redhat-00001 to 7.3.4.Final-redhat-00001
-
- Closed
-
-
JBEAP-30890 (8.0.z) Upgrade EAP codebase in EAP 8.0 update 9.1
-
- Closed
-
- is related to
-
WFLY-20890 Eagerly configure JAXWS JMS protocol before Apache CXF boots
-
- Resolved
-