【问题标题】:Migrating CXF web service app to WebSphere 8.5.5将 CXF Web 服务应用程序迁移到 WebSphere 8.5.5
【发布时间】:2023-04-05 23:40:01
【问题描述】:

我正在迁移部署在 WAS 6.1 上的应用程序。它是基于 CXF 的 Web 服务,兼容 Java 1.5(在 JDK 1.4 上开发)。它需要在 WAS 8.5.5.9 上迁移/部署。

我需要任何类型的代码更改或配置更改就足够了吗?

【问题讨论】:

    标签: cxf websphere-8


    【解决方案1】:

    最大的障碍可能是 WAS 现在包含自己的 Web 服务库(直到功能包才添加到 6.1),因此您需要进行一些配置才能使用第三个 -方网络服务实施。官方文档在这里:https://www.ibm.com/support/knowledgecenter/SSEQTP_8.5.5/com.ibm.websphere.nd.doc/ae/twbs_thirdparty.html

    最重要的事情:

    1) 设置属性以禁用 WebSphere 的 JAX-WS 引擎

    2) 确保您的 CXF 实现和 JAX-WS API 被打包在一个 PARENT_LAST 类加载器中(一个在委托给它的父类之前进行本地搜索的加载器,以防止您使用 WebSphere 的 JAX-WS 运行时)。该文档建议将您的 Web 模块类加载器设置为 PARENT_LAST,但使用“使用隔离的类加载器”选项将 CXF/JAX-WS jar 放入共享库会更安全,这将导致那些特定的 jar以这种方式加载。

    【讨论】:

    • 感谢 Jarid 的回复。我会在接下来的几天里更新这篇文章。
    • 只是想指出,如果您的应用程序被编码为仅使用 API,而不是任何特定于 CXF 的内容,您可能不必禁用 WAS 提供的版本。跨度>
    • 在这种情况下,您也可以只使用 WAS 提供的 API,而完全不用打包 CXF。如果您出于某种原因在 CXF 上死心塌地,那么我认为“禁用”属性是强制性的 - 如果您不这样做,WAS 提供程序将执行注释扫描,并且您将面临 LinkageErrors 之类的风险,因为WebSphere 和应用程序对 API 的单独副本具有可见性。
    猜你喜欢
    • 2016-06-12
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2016-07-04
    • 2015-03-29
    • 1970-01-01
    • 2013-08-06
    相关资源
    最近更新 更多