CXF problems while migrating to EAP 7
def321 Feb 6, 2017 9:02 AMHello,
I'm trying to migrate an application from JBoss EAP 6.2 to EAP 7 (pretty sure the applications also runs on EAP 6.4 but I didn't check it lately). The application is a webservice with an own apache cxf implementation. Therefore I disabled the JBoss ws implementation via "jboss-deployment-structure.xml" in EAR/META-INF:
<?xml version="1.0" encoding="UTF-8"?> <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2"> <deployment> <exclude-subsystems> <subsystem name="webservices" /> <subsystem name="jaxrs" /> </exclude-subsystems> </deployment> <sub-deployment name="xxWeb.war"> <dependencies> <module name="org.jboss.xnio" /> <module name="org.apache.xerces" /> </dependencies> </sub-deployment> <sub-deployment name="xxEJB.jar"> <dependencies> <module name="org.apache.xerces" /> </dependencies> </sub-deployment> </jboss-deployment-structure>
In JBoss 6.x EAP it works like a charm. In JBoss 7.0.0 I get the following error while deploying:
14:18:25,396 WARN [org.jboss.modules] (MSC service thread 1-1) Failed to define class org.apache.cxf.ws.security.sts.provider.SecurityTokenServiceProvider in Module "deployment.xx.ear:main"
from Service Module Loader: java.lang.NoClassDefFoundError: Failed to link org/apache/cxf/ws/security/sts/provider/SecurityTokenServiceProvider (Module "deployment.xx.ear:main" from Service M
odule Loader): javax/xml/ws/Provider
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:446)
at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:274)
at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:78)
at org.jboss.modules.Module.loadModuleClass(Module.java:605)
at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190)
at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363)
at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351)
at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93)
at org.wildfly.extension.undertow.deployment.ServletContainerInitializerDeploymentProcessor.loadClassInfoSet(ServletContainerInitializerDeploymentProcessor.java:254)
at org.wildfly.extension.undertow.deployment.ServletContainerInitializerDeploymentProcessor.deploy(ServletContainerInitializerDeploymentProcessor.java:166)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:147)
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)
Can you help me out? What is my mistake?
P.S. I also tried:
<exclusions> <module name="org.jboss.as.webservices.*" /> <module name="org.jboss.ws.*" /> </exclusions>