将 CXF WS-Security 迁移到 Liberty 是一项简单而又直接的任务。此迁移工作包括将 Spring 或者类似于 Spring 的配置迁移到 server.xml 文件。如果需要 CallbackHandler,那么您还必须将密码 CallbackHandler 作为 Liberty 用户功能部件来打包和安装。
开始之前
请确保您对
Liberty 外部的启用了 CXF WS-Security 的 Web Service 有所了解。
关于此任务
要使用 WS-Security 来保护 Web Service 应用程序,JAX-WS 应用程序必须包含一个具有嵌入式 WS-Security 策略的 WSDL 文件。在 wsdl:binding 和/或 wsdl:operation 部分,必须存在对于该嵌入式 WS-Security 策略的 PolicyReference。将 Web Service 迁移到 Liberty 之后,您可以启用由 WS-Security 策略驱动的 WS-Security 配置。此任务描述了您可以如何将
Apache CXF WS-Security 配置迁移到 Liberty。
过程
- 将 wsSecurity-1.1 功能部件添加至 server.xml 文件,以在 Liberty 中启用 WS-Security。
- 将 WS-Security 配置添加到 server.xml 文件。 Liberty 中的 CXF WS-Security 不支持 Spring 配置文件或者其他供应商提供的等效配置文件。必须将在 Spring 或者其等效配置文件中的策略以外定义的额外配置迁移到 Liberty 中的 server.xml 文件。
创建 <wsSecurityClient> 元素来保存客户端配置,创建 <wsSecurityProvider> 元素来保存服务器端配置。必须保留 CXF 和 WSS4J 中的所有配置属性“名称/值”对。可以使用 Spring 或者等价的配置文件中的相同“名称/值”对。对于 crypto 属性,您必须创建 <signatureProperties> 和 <encryptionProperties> 子元素来保存所有必需的属性。有关更多信息,请参阅 Web Service 安全性缺省配置。
- 如果 Spring 配置文件中具有密码回调处理程序,请将密码回调处理程序作为 Liberty 用户功能部件来打包。 有关密码 CallbackHandler 的更多信息,请参阅为 WS-Security 开发密码回调处理程序。
结果
此时,您已将“WSDL 优先”Web Service 迁移到
Liberty。