1

我想如何在 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

子系统](控制器引导线程)​​激活 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. \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 Server 5.5\bin;C:\Program Files (x86)\EasyPHP-5.3.5.0 \mysql\bin;C:\Program Files\TortoiseSVN\bin;D:\maven303\;D:\maven303\bin;C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\;D:\FuhuAppStore\software \eclipse-jee-靛蓝-win32\eclipse; 03:04:55,178 INFO [org.jboss.as.remoting](MSC 服务线程 1-7)监听 /127.0.0.1:9999 03:04:55,181 INFO [org.jboss.as.jmx.JMXConnectorService](MSC服务线程 1-2)启动远程 JMX 连接器 03:04:55,251 INFO [org.apache.coyote.http11.Http11Protocol](MSC 服务线程 1-3)在 http--127.0.0 上启动 Coyote HTTP/1.1。deployment] (MSC service thread 1-6) Started FileSystemDeploymentService for directory D:\jboss-as-7.0.0.Final\standalone\deployments 03:04:55,948 INFO [org.jboss.as] (Controller Boot Thread) 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 service thread 1-2) Class Path entry xbean.jar in "/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)“/D: 中的类路径条目 jaxp-api.jar: 不指向 Class-Path 引用的有效 jar。03:05:08,592 WARN [org.jboss.as.server.deployment](MSC 服务线程 1-2)“/D:/jboss-as-7.0.0.Final/bin 中的类路径条目 xml-apis.jar /content/asweb.war/WEB-INF/lib/xalan.jar" 没有指向类路径引用的有效 jar。03:05:09,035 INFO [org.jboss.jpa](MSC 服务线程 1-2)读取 asjpa 的 persistence.xml 03:05:09,473 WARN [org.jboss.as.ee.component.ResourceInjectionAnnotationParsingProcessor](MSC 服务线程1-4) 无法处理 ENC 名称的@Resource:org.apache.cxf.headers.HeaderManagerImpl 类上的 org.apache.cxf.headers.HeaderManagerImpl/bus,因为它缺少“lookup”(或“mappedName”)值并且不是任何已知类型 03:05:09,473 WARN [org.jboss.as.ee.component.

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

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

4

1 回答 1

2

我遇到了同样的问题,因为我在 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>
于 2012-07-27T12:27:40.467 回答