2017-03-31 126 views
0

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

我会需要任何一种代码更改或配置更改就足够了吗?

回答

0

最大的障碍可能是WAS现在包含了自己的Web服务库(直到一个功能包才被添加到6.1),所以你需要做一些配置来使用第三个第三方Web服务实现。官方文档是在这里: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以这种方式加载。

+0

谢谢贾里德的回复。我会在接下来的几天更新这篇文章。 – Abhi

+0

只是想指出,如果您的应用程序编码为仅使用API​​,而不是特定于CXF的特定应用程序,则可能不必禁用WAS提供的版本。 – dbreaux

+1

在这种情况下,您也可以只使用WAS提供的API,而不打扰CXF的打包。如果你因为任何原因死在CXF上,那么我认为“禁用”属性是强制性的 - 如果你不这样做,WAS提供者将执行注释扫描,并且你冒着像LinkageErrors之类的风险,因为WebSphere和具有可见性的应用程序分离API的副本。 – Jarid

相关问题