0

我正在尝试将我的 CXF Web 应用程序部署到 JBoss 5.1 GA。所有功能在 Tomcat 中都可以正常工作,但是内部 JBoss-WS jar 会导致一些意外行为(与此处编写的相同),因此我想按照此处编写的方式关闭 Jboss webservice 子系统.

问题是把jboss-deployment-structure.xml放在 WEB-INF 中即使重新启动服务器也没有任何效果,所以我认为 5.1 版本不支持它。从 /deployers中删除 jbossws.deployer和从 /deploy 中删除jbossws.sar (如此所写)不是一个有效的选项,因为有许多应用程序可能会受到它的影响。

所以我的问题是如何禁用内部 JBoss WS 模块?

非常感谢,

彼得

4

1 回答 1

0

请参阅 JAX-WS 规范的“6.2.1 配置”部分。第 1 点说:

  1. 如果名称为 的资源META-INF/services/javax.xml.ws.spi.Provider存在,则其第一行(如果存在)用作实现类的 UTF-8 编码名称。

有一个包含文件的JBOSS_HOME/common/lib/jbossws-native-jaxws.jarJAR,其中包含:META-INF/services/javax.xml.ws.spi.Provider

org.jboss.ws.core.jaxws.spi.ProviderImpl

因此,根据上述规范的第 2 点或第 3 点,您可以:

  • 利用${java.home}/lib/jaxws.properties
  • 使用带有名称的系统属性javax.xml.ws.spi.Provider

当我尝试使用最新的 CXF 提供程序时,我已经使用 JBoss 6 完成了此操作。

于 2013-10-11T07:52:26.637 回答