【问题标题】:Web Service conflict among cxf2.2.4 Spring2.5.6 and jboss 7?cxf2.2.4 Spring2.5.6和jboss 7之间的Web Service冲突?
【发布时间】:2011-07-31 07:17:29
【问题描述】:

我想如何在 Spring 2.5.6 cxf2.2.4 和 jboss7 上设置 web 服务?

我知道 jboss 7 本身就有 web 服务包。我的代码已经严重依赖于 apache cxf2.2.4 框架,由于时间紧迫,我只是不想改变很多。我把这个放在 webapp/META-INFO/ 下排除了 jboss7 中嵌入的 cxf2.4,我该怎么办?

<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
  <deployment>
    <exclusions>
       <module name="org.apache.cxf"/>
    </exclusions>
  </deployment>
</jboss-deployment-structure>

真正阻碍我的是当我想使用当前的 cxf2.2.4 时,似乎 jboss7 要求我在其中将 MappedName 属性添加到 @Resource。我从 SVN 下载了 cxf2.2.4 并尝试更改源代码,但由于缺少一些依赖项(它们可能太旧而无法获取),我未能制作新的 jar。

或者我需要在 jboss7 上原生升级到 cxf 2.4.1,这可能需要相当长的时间。

我收到 cxf2.2.4 的错误消息:

03:04:51,418 INFO  [org.jboss.modules] JBoss Modules version

1.0.1.GA 03:04:52,219 信息 [org.jboss.msc] JBoss MSC 版本 1.0.0.GA 03:04:52,303 INFO [org.jboss.as] JBoss AS 7.0.0.Final “闪电” 开始 03:04:54,194 INFO [org.jboss.as] 创建 http 管理服务 使用网络接口(管理)端口 (9990) securePort (-1) 03:04:54,209 INFO [org.jboss.as.logging] 删除引导日志 处理程序 03:04:54,246 信息 [org.jboss.as.connector.subsystems.datasources] (Controller Boot Thread) 部署符合 JDBC 的驱动类 org.h2.Driver(1.2版) 03:04:54,266 信息 [org.jboss.as.connector.subsystems.datasources] (控制器引导线程)​​部署不符合 JDBC 的驱动程序类 com.mysql.jdbc.Driver(5.1版) 03:04:54,282 信息 [org.jboss.as.clustering.infinispan.subsystem] (控制器引导线程)​​激活 Infinispan 子系统。 03:04:54,472 INFO [org.jboss.as.naming](控制器引导线程) 激活命名子系统 03:04:54,490 INFO [org.jboss.as.naming](MSC 服务线程 1-4) 启动命名服务 03:04:54,496 INFO [org.jboss.as.osgi](控制器引导线程) 激活 OSGi 子系统 03:04:54,522 INFO [org.jboss.as.security](控制器启动 线程)激活安全子系统 03:04:54,529 INFO [org.jboss.remoting](MSC 服务线程 1-4) JBoss Remoting 版本 3.2.0.Beta2 03:04:54,561 INFO [org.xnio](MSC 服务线程 1-4)XNIO 版本 3.0.0.Beta3 03:04:54,588 INFO [org.xnio.nio](MSC 服务线程 1-4)XNIO NIO 实现版本 3.0.0.Beta3 03:04:55,006 INFO [org.jboss.as.ee](控制器引导线程) 激活 EE 子系统 03:04:55,141 信息 [org.apache.catalina.core.AprLifecycleListener] (MSC 服务线程 1-7)允许 在生产环境中没有找到最佳性能 java.library.path: C:\Program 文件 (x86)\Java\jdk1.6.0_23\bin;.;C:\windows\Sun\Java\bin;C:\windows\system32;C:\windows;C:/Program 文件 (x86)/Java/jdk1.6.0_23/bin/../jre/bin/client;C:/Program Files (x86)/Java/jdk1.6.0_23/bin/../jre/bin;C:/Program Files (x86)/Java/jdk1.6.0_23/bin/../jre/lib/i386;C:\Program Files (x86)\Java\jdk1.6.0_23;C:\Program Files (x86)\Java\jdk1.6.0_23\bin;C:\windows\system32;C:\windows;C:\windows\System32\Wbem;C:\windows\System32\WindowsPowerShell\v1.0\;C: \程序 Files\SlikSvn\bin\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\Windows7Master;C:\Program Files (x86)\Common Files\Thunder Network\KanKan\Codecs;C:\Program Files\SlikSvn\bin\;C:\Program Files (x86)\PuTTY;C:\Program Files (x86)\jboss-4.2.3.GA\bin;C:\Program Files (x86)\MySQL\MySQL 服务器 5.5\bin;C:\Program Files (x86)\EasyPHP-5.3.5.0\mysql\bin;C:\Program 文件\TortoiseSVN\bin;D:\maven303\;D:\maven303\bin;C:\Program Files (x86)\IDM 计算机 Solutions\UltraEdit\;D:\FuhuAppStore\software\eclipse-jee-indigo-win32\eclipse; 03:04:55,178 INFO [org.jboss.as.remoting](MSC 服务线程 1-7) 在 /127.0.0.1:9999 上收听 03:04:55,181 信息 [org.jboss.as.jmx.JMXConnectorService](MSC 服务线程 1-2) 启动远程 JMX 连接器 03:04:55,251 信息 [org.apache.coyote.http11.Http11Protocol] (MSC 服务线程 1-3) 在 http--127.0.0.1-8080 上启动 Coyote HTTP/1.1 03:04:55,468 INFO [org.jboss.as.connector](MSC 服务线程 1-1) 启动 JCA 子系统 (JBoss IronJacamar 1.0.0.CR2) 03:04:55,524 信息 [org.jboss.as.connector.subsystems.datasources] (MSC服务线程1-1)绑定数据源 [java:jboss/数据源/ExampleDS] 03:04:55,524 信息 [org.jboss.as.connector.subsystems.datasources] (MSC服务线程1-4)绑定数据源 [java:jboss/datasources/musicstore] 03:04:55,525 信息 [org.jboss.as.connector.subsystems.datasources] (MSC服务线程1-6)绑定数据源[java:jdbc/mysql/appstore] 03:04:55,525 信息 [org.jboss.as.connector.subsystems.datasources] (MSC服务线程1-4)绑定数据源 [java:jdbc/mysql/appsubmission] 03:04:55,912 INFO [org.jboss.as.deployment](MSC 服务线程 1-6) 为目录启动 FileSystemDeploymentService D:\jboss-as-7.0.0.Final\standalone\deployments 03:04:55,948 INFO [org.jboss.as](控制器引导线程)​​JBoss AS 7.0.0.Final “Lightning” 开始时间为 5221 毫秒 - 开始时间为 160 次中的 105 次 服务(55 项服务是被动的或按需的) 03:04:55,959 INFO [org.jboss.as.server.deployment](MSC 服务 线程 1-5) 开始部署“asweb.war” 03:05:08,589 WARN [org.jboss.as.server.deployment](MSC 服务 线程 1-2) 类路径入口 xbean.jar 中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/js.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,590 WARN [org.jboss.as.server.deployment](MSC 服务 线程 1-2) 类路径入口 jaxp-api.jar 中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/saaj-api-1.3.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,590 WARN [org.jboss.as.server.deployment](MSC 服务 线程 1-2) 类路径条目 jax-qname.jar 中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/saaj-api-1.3.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,590 WARN [org.jboss.as.server.deployment](MSC 服务 线程1-2)类路径入口activation.jar中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/saaj-api-1.3.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,591 WARN [org.jboss.as.server.deployment](MSC 服务 线程1-2)类路径入口servlet.jar中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/saaj-api-1.3.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,591 WARN [org.jboss.as.server.deployment](MSC 服务 线程 1-2) 类路径入口 saaj-api.jar 中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/saaj-impl-1.3.2.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,591 WARN [org.jboss.as.server.deployment](MSC 服务 线程1-2)类路径入口activation.jar中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/saaj-impl-1.3.2.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,592 WARN [org.jboss.as.server.deployment](MSC 服务 线程 1-2) 类路径入口 xercesImpl.jar 中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/xalan.jar” 不指向 Class-Path 引用的有效 jar。 03:05:08,592 WARN [org.jboss.as.server.deployment](MSC 服务 线程 1-2) 类路径条目 xml-apis.jar 中 “/D:/jboss-as-7.0.0.Final/bin/content/asweb.war/WEB-INF/lib/xalan.jar” 不指向 Class-Path 引用的有效 jar。 03:05:09,035 INFO [org.jboss.jpa](MSC 服务线程 1-2)读取 asjpa 的 persistence.xml 03:05:09,473 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.headers.HeaderManagerImpl/bus 上课 org.apache.cxf.headers.HeaderManagerImpl 因为它缺少“查找” (或“mappedName”)值并且不是任何已知类型 03:05:09,473 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.bus.resource.ResourceManagerImpl/bus 类 org.apache.cxf.bus.resource.ResourceManagerImpl 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,473 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.wsdl11.WSDLManagerImpl/bus 上课 org.apache.cxf.wsdl11.WSDLManagerImpl 因为它缺少“查找” (或“mappedName”)值并且不是任何已知类型 03:05:09,474 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.buslifecycle.CXFBusLifeCycleManager/bus 上课 org.apache.cxf.buslifecycle.CXFBusLifeCycleManager 因为它丢失了 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,475 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.jaxws.context.WebServiceContextResourceResolver/bus on 类 org.apache.cxf.jaxws.context.WebServiceContextResourceResolver 因为它缺少“lookup”(或“mappedName”)值并且不属于任何 已知类型 03:05:09,475 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.catalog.OASISCatalogManager/bus on class org.apache.cxf.catalog.OASISCatalogManager 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,475 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.ws.rm.RMManager/bus 上课 org.apache.cxf.ws.rm.RMManager 因为它缺少“查找”(或 "mappedName") 值并且不是任何已知类型 03:05:09,476 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.ws.security.policy.WSSecurityPolicyLoader 自 它缺少“查找”(或“映射名称”)值并且不属于任何已知的 类型 03:05:09,476 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.endpoint.ServerRegistryImpl/bus 类 org.apache.cxf.endpoint.ServerRegistryImpl 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,477 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.workqueue.WorkQueueManagerImpl/bus 上课 org.apache.cxf.workqueue.WorkQueueManagerImpl 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,478 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.workqueue.WorkQueueManager 上课 org.apache.cxf.workqueue.AutomaticWorkQueueImpl 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,478 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.jaxrs.interceptor.AttachmentInputInterceptor/supportedTypes 在类 org.apache.cxf.jaxrs.interceptor.AttachmentInputInterceptor 因为它缺少“lookup”(或“mappedName”)值并且不属于任何 已知类型 03:05:09,479 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.binding.BindingFactoryManagerImpl/bus 类 org.apache.cxf.binding.BindingFactoryManagerImpl 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,479 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.binding.corba.wsdl.WSDLExtensionRegister/bus 上课 org.apache.cxf.binding.corba.wsdl.WSDLExtensionRegister 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,479 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.binding.corba.CorbaBindingFactory 类上的 transportIds 因为它缺少“lookup”(或“mappedName”)值并且不属于任何 已知类型 03:05:09,480 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.binding.soap.SoapTransportFactory 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,480 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.binding.AbstractBindingFactory/bus 类 org.apache.cxf.binding.AbstractBindingFactory 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,480 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: 类上的激活命名空间 org.apache.cxf.binding.AbstractBindingFactory 因为它缺少一个 “lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,481 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.management.jmx.InstrumentationManagerImpl 自 它缺少“查找”(或“映射名称”)值并且不属于任何已知的 类型 03:05:09,481 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.management.counters.CounterRepository 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,481 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.databinding.AbstractDataBinding 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,481 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.transport.jms.JMSTransportFactory 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,482 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.transport.DestinationFactoryManagerImpl/bus 上课 org.apache.cxf.transport.DestinationFactoryManagerImpl 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,482 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.transport.http_jetty.JettyHTTPTransportFactory 因为它缺少“lookup”(或“mappedName”)值并且不属于任何 已知类型 03:05:09,482 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.transport.http_jetty.JettyHTTPServerEngine 自 它缺少“查找”(或“映射名称”)值并且不属于任何已知的 类型 03:05:09,483 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.transport.http_jetty.JettyHTTPServerEngineFactory 因为它缺少“lookup”(或“mappedName”)值并且不属于任何 已知类型 03:05:09,483 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.transport.ConduitInitiatorManagerImpl/bus 类 org.apache.cxf.transport.ConduitInitiatorManagerImpl 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,483 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.transport.servlet.ServletTransportFactory 自 它缺少“查找”(或“映射名称”)值并且不属于任何已知的 类型 03:05:09,484 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource: org.apache.cxf.transport.http.QueryHandlerRegistryImpl/bus 上课 org.apache.cxf.transport.http.QueryHandlerRegistryImpl 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,484 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.transport.http.AbstractHTTPTransportFactory 自 它缺少“查找”(或“映射名称”)值并且不属于任何已知的 类型 03:05:09,484 警告 [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor] (MSC 服务线程 1-4)无法处理 ENC 名称的 @Resource:cxf on 类 org.apache.cxf.transport.local.LocalTransportFactory 因为它是 缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:11,089 信息 [org.jboss.as.connector.deployers.jdbc] (MSC 服务线程 1-2) 部署不符合 JDBC 的驱动程序类 com.mysql.jdbc.Driver(5.1版) 03:05:11,383 信息 [org.jboss.as.server.controller] (DeploymentScanner-threads - 2) “asweb.war”的部署已推出 返回失败消息{“缺少/不可用的服务 依赖项" => ["jboss.persistenceunit.\"asweb.war#asjpa\" 缺失 [ jboss.data-source.java:/]"]} 03:05:11,384 信息 [org.jboss.as.controller] (DeploymentScanner-threads - 2) 服务状态报告 新的缺失/不满足的依赖项: service jboss.data-source.java:/(缺失)

03:05:11,386 ERROR [org.jboss.as.deployment]

(DeploymentScanner-threads - 1) {"复合操作失败并且是 回滚。失败的步骤:" => {"Operation step-2" => {"Services 缺少/不可用的依赖项” => ["jboss.persistenceunit.\"asweb.war#asjpa\" 丢失 [ jboss.data-source.java:/ ]"]}}} 03:05:20,618 INFO [org.jboss.as.server.deployment](MSC 服务 线程 1-6) 在 9226 毫秒内停止部署 asweb.war 03:05:20,619 INFO [org.jboss.as.controller](MSC 服务线程 1-8) 服务状态报告 新更正的服务: service jboss.data-source.java:/(不再需要)

【问题讨论】:

    标签: spring jboss7.x


    【解决方案1】:

    我在 Tomcat 中部署独立 WAR 时遇到了同样的问题,但正在迁移到 Jboss7AS。在所有的研究甚至 Jboss 员工支持告诉我“不要在你的 WAR 中使用 CXF 使用 Jboss Jax-WS”之后,我得到了它的工作。在我的 /WEB-INF/jboss-deployment-structure.xml 中,我选择排除所有 EE 包,这使我的 WAR 工作发现正在部署在 Jboss7 AS 上的 Tomcat 中部署。

    <jboss-deployment-structure>
        <!-- For JBoss7AS and WS-Security/CXF to play nice must exclude the EEjars -->
        <deployment>
            <exclusions>
                <module name="javaee.api" />
            </exclusions>
        </deployment>
    </jboss-deployment-structure>
    

    【讨论】:

      猜你喜欢
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 2013-11-27
      • 1970-01-01
      • 2012-06-27
      • 2012-03-06
      • 2011-05-02
      • 2012-11-25
      相关资源
      最近更新 更多