2016-02-28 140 views
0

目标 - 迁移EAR应用程序从JBoss的EAP 5至10 WildflyCXF 2.7.0 Web服务部署10

问题:代码中有CXF 2.7.0 Web服务客户端代码(调用第三方Web服务)和它被添加到EAR/lib文件夹中。但是,在部署过程中,我得到异常下面

日志:

2016-02-26 12:17:48,075 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.unit."rts-comcast-01.01.75.ear".WeldStartService: org.jboss.msc.service.StartException in service jboss.deployment.unit."rts-comcast-01.01.75.ear".WeldStartService: Failed to start service 
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1904) 
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: org.jboss.weld.exceptions.DefinitionException: WELD-000071: Managed bean with a parameterized bean class must be @Dependent: class org.apache.cxf.jaxrs.provider.DataBindingProvider 
at org.jboss.weld.bean.ManagedBean.checkType(ManagedBean.java:208) 
at org.jboss.weld.bean.AbstractBean.initializeAfterBeanDiscovery(AbstractBean.java:107) 
at org.jboss.weld.bean.ManagedBean.initializeAfterBeanDiscovery(ManagedBean.java:122) 
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:136) 
at org.jboss.weld.bootstrap.ConcurrentBeanDeployer$AfterBeanDiscoveryInitializerFactory.doWork(ConcurrentBeanDeployer.java:127) 
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:63) 
at org.jboss.weld.executor.IterativeWorkerTaskFactory$1.call(IterativeWorkerTaskFactory.java:56) 
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
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) 
at org.jboss.threads.JBossThread.run(JBossThread.java:320) 

豆的XML

我已经加入以下豆-XML的META-INF和WEB-INF以及

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://xmlns.jcp.org/xml/ns/javaee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd" 
    bean-discovery-mode="annotated"> 

备用试

我怀疑给定的库是否已经加载到应用程序中,并且想确认我的依赖关系是否良好。所以做了一个简单的Web应用程序并加载所有的CXF JAR文件此时WEB-INF/lib文件夹本身及以上

提到部署的这个时候也同样的问题

CXF版本Wildfly 10

Wildfly 10来与CXF 3.1.4,但我已经在我的lib文件夹中给我所需的罐子,并没有提到任何容器提供的CXF模块,以确保在库中的CXF版本加载。

有些人可以提供一个洞察力,我做错了吗?感谢您的帮助

在搜索了一段时间后,我在jboss-deployment-strucutre.xml中添加了下面的配置更改,仍然有问题。请使用此链接的详细信息将容器提供CXF3.1.4适当的排除项后 https://developer.jboss.org/thread/268163

+0

您是否设法解决此问题?我面临同样的问题,无法以任何方式工作。你有什么消息吗? – Gianluca

回答

0

解决的问题,并提供了CXF 2.7版或2.4.4(约其他较低版本的不知道)

的JBoss部署-structure.xml必须在父级别META-INF的情况下,你的应用程序有多个模块(JAR,WAR,MDB)

这是我的条目:

<!-- Exclusions allow you to prevent the server from automatically adding some dependencies  --> 
    <exclusions> 
     <!-- Exclude Version cxf of JBOSS --> 
     <module name="org.apache.cxf" /> 
     <!-- Exclude JAVA EE of JBOSS (javax.ws..) => Add dependency javax.annotation --> 
     <module name="javaee.api" /> 

     <!-- Exclude RestEasy conflict (javax.ws.rs.ext.RunDelegate) --> 
     <module name="org.jboss.resteasy.resteasy-jackson-provider" /> 

     <!-- module name="org.apache.log4j" /> 
     <module name="org.apache.commons.logging"/ --> 
     <module name="org.jboss.as.jaxrs"/> 
     <module name="org.jboss.resteasy.resteasy-jaxrs"/> 
     <module name="org.jboss.resteasy.resteasy-cdi"/> 
     <module name="org.jboss.resteasy.jackson-provider"/> 
     <module name="org.jboss.resteasy.resteasy-atom-provider"/> 
     <module name="org.jboss.resteasy.resteasy-hibernatevalidator-provider"/> 
     <module name="org.jboss.resteasy.resteasy-jaxb-provider"/> 
     <module name="org.jboss.resteasy.resteasy-jettison-provider"/> 
     <module name="org.jboss.resteasy.resteasy-jsapi"/> 
     <module name="org.jboss.resteasy.resteasy-multipart-provider"/> 
     <module name="org.jboss.resteasy.resteasy-yaml-provider"/> 
     <module name="org.codehaus.jackson.jackson-core-asl"/> 
     <module name="org.codehaus.jackson.jackson-jaxrs"/> 
     <module name="org.codehaus.jackson.jackson-mapper-asl"/> 
     <module name="org.codehaus.jackson.jackson-xc"/> 
     <module name="org.codehaus.jettison"/> 
     <module name="javax.ws.rs.api"/> 
    </exclusions>