【问题标题】:Turn off JBoss WS module in JBoss 5.1在 JBoss 5.1 中关闭 JBoss WS 模块
【发布时间】:2013-10-08 13:57:31
【问题描述】:
我正在尝试将我的 CXF Web 应用程序部署到 JBoss 5.1 GA。所有功能在 Tomcat 中都可以正常工作,但内部 JBoss-WS jar 会导致一些意外行为(与编写的 here 相同),因此我想关闭 Jboss webservice 子系统,因为它编写为 here.。
问题是在WEB-INF中放置jboss-deployment-structure.xml在重启服务器后也没有任何效果,所以我认为5.1版本不支持。从 /deployers 中删除 jbossws.deployer 并从 /deploy 中删除 jbossws.sar(如 here 所写)不是一个有效的选项,因为有许多应用程序可能会受到它。
所以我的问题是如何禁用内部 JBoss WS 模块?
非常感谢,
彼得
【问题讨论】:
标签:
java
web-services
jboss
jax-ws
cxf
【解决方案1】:
请参阅 JAX-WS 规范的“6.2.1 配置”部分。第 1 点说:
- 如果名称为
META-INF/services/javax.xml.ws.spi.Provider 的资源存在,则其第一行(如果存在)用作实现类的 UTF-8 编码名称。
有JBOSS_HOME/common/lib/jbossws-native-jaxws.jar JAR 包含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 完成了此操作。