使用第三方 JAX-WS Web Service 引擎

在特定的情况下,可能需要设置第三方 JAX-WS Web Service 引擎。例如,如果需要在各种应用程序服务器(例如 WebSphere® Application Server、JBoss 和 WebLogic)之间部署使用单一运行时的应用程序,或者如果要使用第三方 JAX-WS 运行时(例如 CXF、Axis2 和 Metro)来构建 JAX-WS Web Service 应用程序,那么必须设置第三方 JAX-WS Web Service 引擎。

开始之前

第三方 JAX-WS 运行时的使用有一些限制。它还需要必需的配置更改,并且在某些情况下,它需要进行手动干预以解决部署期间和运行应用程序时所发生的问题。这些限制和问题随您决定要使用的第三方 JAX-WS 运行时的不同而不同。在配置系统以使用该实现之前,应该先了解您准备要使用的第三方 JAX-WS 运行时的限制。

无论您使用哪种第三方 JAX-WS 实现,以下限制都存在:
  • WebSphere Application Server 运行时限制使用以下应用程序模块:同时使用随 WebSphere Application Server 提供的 JAX-WS 实现的应用程序模块以及相同应用程序 EAR 文件中的外部 JAX-WS 实现的应用程序模块。必须使用随 WebSphere Application Server 提供的 JAX-WS 实现或单个应用程序 EAR 文件中的外部实现。此限制确保 WebSphere Application Server 运行时不与外部第三方 JAX-WS 实现发生冲突。
  • 在部署使用外部 JAX-WS 实现的应用程序之前,必须先从应用程序库中移除任何有冲突的 JAR 文件。大部分外部第三方 JAX-WS 运行时都包括已安装在 WebSphere Application Server 上的一些 JAR 文件库。此情况会导致应用程序库中存在冲突。
  • WebSphere Application Server 上部署使用第三方 JAX-WS 运行时的应用程序之后,不会将该应用程序识别为服务客户机或提供程序。因此,不能将应用程序级别策略集连接到这些应用程序。 必须依靠外部运行时支持服务质量。以下是在您确定部署和运行使用第三方 JAX-WS 实现的应用程序时不可用的 WebSphere Application Server 功能列表:
    • WS-Security、WS-RM 和 WS-Transactions 策略集
    • WSDM
    • 用于检索 JAX-WS 服务或端口实例的 JNDI 查询。
避免故障 避免故障: 虽然 IBM 支持在 WebSphere Application Server 上运行第三方 JAX-WS 运行时并确保成功部署使用此类运行时的应用程序,但是 IBM 对解决 JAR 文件冲突问题或位于第三方代码中由堆栈跟踪所指示的任何问题不提供支持。gotcha

关于此任务

WebSphere Application Server 上部署使用第三方 JAX-WS 实现的应用程序 EAR 文件时,WebSphere Application Server 运行时必须确保使用第三方引擎并禁用现有的 WebSphere Application Server JAX-WS Web Service 引擎。

WebSphere Application Server 不声明支持任何第三方 JAX-WS 运行时,但已对使用此类运行时的应用程序的部署和执行进行了测试。

在应用程序中可以使用外部 JAX-WS 运行时之前,必须先完成下列步骤。

过程

  1. 在模块级别将类装入器策略设置为首先使用本地类装入器来装入类(最后使用父类装入器)

    将类装入器策略更改为最后使用父类装入器可确保外部第三方 JAX-WS 运行时及其从属库 JAR 文件首先位于类装入器搜索路径中,从而确保使用第三方实现而不使用 WebSphere Application Server

    1. 在管理控制台中,单击应用程序 > 应用程序类型 > WebSphere 企业应用程序 > application_name > 管理模块>webmodule_name
    2. 从下拉列表中选择首先使用本地类装入器来装入类(最后使用父类装入器)
    3. 单击确定,然后单击保存以保存更改。
    1. 单击确定,然后单击保存以保存更改。
  2. 关闭 Web Service 注释扫描。

    可在应用程序级别或服务器级别关闭注释扫描。

    要在应用程序级别关闭注释扫描功能,请在 WAR 文件或 EJB 模块的 META-INF/MANIFEST.MF 中将 DisableIBMJAXWSEngine 属性设置为 true。示例:
    Manifest-Version: 1.0
    DisableIBMJAXWSEngine: true

    要在服务器级别关闭 Web Service 注释扫描,请执行下列操作:

    1. 在管理控制台中,转至 Java 虚拟机的“定制属性”页面。

      [z/OS]单击服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name,然后在“服务器基础结构”部分中单击 Java 和进程管理 > 进程定义 > 控制 > Java 虚拟机 > 定制属性

      [AIX Solaris HP-UX Linux Windows][IBM i]服务器 > 服务器类型 > WebSphere 应用程序服务器 > server_name,然后在“服务器基础结构”下面单击 Java 和进程管理 > 进程定义 > Java 虚拟机 > 定制属性

    2. com.ibm.websphere.webservices.DisableIBMJAXWSEngine 属性设置为 true

      如果您的配置尚不存在此属性,请单击新建,然后在 名称字段中添加 com.ibm.websphere.webservices.DisableIBMJAXWSEngine 并在字段中添加 true

结果

下一步做什么

  • WebSphere Application Server 上部署并运行使用第三方 JAX-WS 实现的应用程序 EAR 文件。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_thirdparty
文件名:twbs_thirdparty.html