我正在尝试创建一个简单的基于 WSDL 的 Web 服务,以便使用 Apache CXF 部署在 Wildfly 上。我尝试使用 wsdl 文件进行标准 web.xml、cxf-servlet.xml 配置,但服务器给出了以下错误
在 ws 端点部署中检测到 Apache CXF 库 (cxf-api-2.7.3.jar);要么提供正确的部署,用容器模块依赖项替换嵌入式库,要么为当前部署禁用 Web 服务子系统,添加正确的 jboss-deployment-struct.xml
我正在使用 Maven 进行构建和部署过程。进一步阅读后,我意识到 Wildfly 使用 JBossWS 堆栈,并且不鼓励基于 Spring 的 CXF 配置。我还应该使用 wsdl2java 或 wsprovide/wsconsume 吗?
任何人都可以指导我如何设置一个简单的项目来创建 WSDL 第一个 Web 服务并在 Wildfly 上部署,或者为我提供一个工作示例。
感谢您的帮助,谢谢。
出现上述消息的原因正是 WildFly 的 Web 服务子系统在部署中发现了 Apache CXF 库。这并不是在像 WildFly 这样的 JavaEE 容器上提供和部署使用 Web 服务的 JavaEE 应用程序的方式,主要是因为该容器负责提供 WS 引擎功能。特别是,当涉及到 WildFly 时,Apache CXF 在内部使用,因此通过在部署中添加一些 cxf 库,用户可能最终会遇到他可能无法轻松解决的复杂类加载问题。
不管怎样,该消息说明了必须做什么:必须在部署中定义(JBoss)模块依赖项。这可以在部署 MANIFEST.MF 中轻松完成;有关于此的一些文档https://docs.jboss.org/author/display/JBWS/JBoss+Modules https://docs.jboss.org/author/display/JBWS/JBoss+Modules(但您可以通过 google 搜索 JBoss Modules 并找到许多信息)。
一般来说,我真的建议阅读以下文档https://docs.jboss.org/author/display/JBWS/Apache+CXF+integration#ApacheCXFintegration-BuildingWSapplicationstheJBossway https://docs.jboss.org/author/display/JBWS/Apache+CXF+integration#ApacheCXFintegration-BuildingWSapplicationstheJBossway其中更详细地解释了 JBossWS 与 Apache CXF 的集成,并为正确打包应用程序提供了指导。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)