gpt4 book ai didi

web-services - 如何从 Wildfly (Jboss) 访问 ws 端点的 CXF jar

转载 作者:行者123 更新时间:2023-12-04 16:08:44 25 4
gpt4 key购买 nike

我试图在 Wildfly 8.2 中部署我的 war 文件。我的应用程序将 org.apache.cxf 用于 Web 服务。但是 Wildfly (Jboss) 默认带有自己的 cxf jar,可以提供完整的 Java EE 支持。我可以消除 jboss cxf 并使用我自己的 cxf jars 来提供 Web 服务

jboss-deployment-structure.xml

<jboss-deployment-structure>
<deployment>
<exclude-subsystems>
<subsystem name="webservices" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>

但它会禁用 jboss 对 ws 的支持,这意味着我什至无法在 Jboss 管理控制台中找到 ws 端点。但是我的客户需要利用 jboss 内置的 ws 功能,以便他可以随时禁用或启用任何 ws 调用。有谁知道如何配置我的应用程序以利用 jboss 的 cxf jar,以便我可以随时在 Jboss 管理控制台中调整我的 ws。以下链接解释了我迄今为止提到的完全相同的内容。我使用第一个选项成功,但我需要它来使用第二个选项。

http://cxf.apache.org/docs/application-server-specific-configuration-guide.html

注意:请参阅第一个主题( JBoss 应用程序服务器 )

我似乎无法弄清楚如何配置我的应用程序以利用 jboss 的 cxf jars..!

如果我从 build.gradle 文件中删除所有 org.apache.cxf 依赖项,它会给出 ClassNotFoundException 错误,这实际上告诉我它可以找到 cxf-transport jar。
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: java.lang.ClassNotFoundException: org.apache.cxf.transport.servlet.CXFServlet

如果我在 build.gradle 文件中包含 org.apache.cxf 依赖项,则表明它与 Jboss 中也存在的 cxf jar 冲突。整个问题是我需要通过消除用户定义的 cxf jar 来利用 jboss 中存在的 cxf 以获得完整的 Java EE 支持。

最佳答案

这可能与一些其他依赖项重叠,这意味着不同的版本。

我遇到了同样的情况,不得不测试并从 org.apache.cxf 中删除所有不合逻辑的内容,尤其是不推荐使用的内容,例如:

  • cxf-rt-rs-extension-providers,
  • cxf 分布 list ,
  • cxf-bundle-jaxrs 和
  • cxf-rt-frontend-jaxrs。

  • 使用 ${cxf.version} 保持兼容性很重要对所有人 org.apache.cxf ,特别是对于更高版本,如果其他依赖项引入了较旧的 cxf 库,请检查依赖项层次结构。

    关于web-services - 如何从 Wildfly (Jboss) 访问 ws 端点的 CXF jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29407115/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com