服务集成技术和 WS-Security
在 WS-Security 方案中,消息流如下图所示:
图 1. 消息流

客户机生成由客户机 Web Service 引擎处理的请求。此引擎读取客户机安全性配置,并将 ibm-webservicesclient-ext.xmi 文件中定义的安全性应用于 SOAP 消息。该引擎从 ibm-webservicesclient-bnd.xmi 文件中获取其他绑定信息(例如,文件系统上密钥库的位置)。
在接收 SOAP 消息时,服务器上的 Web Service 引擎引用调用的 Web Service 的 *.xmi 文件。在此情况下,ibm-webservices-ext.xmi 文件会告知引擎,入局消息必须具有哪种安全性(例如,必须签署消息体)。如果消息不符合该安全性,那么会被拒绝。Web Service 引擎会验证任何安全信息,然后将消息传递到调用的 Web Service。
在响应从服务器到客户机的消息时,反向执行此过程。Web Service *.xmi 文件告知 Web Service 引擎将哪些安全性应用于响应消息,而客户机 *.xmi 文件告知客户机引擎响应消息中需要哪些安全性。
如果将此方案应用于入站和出站服务,那么消息流如下图所示:

在此方案中:
- 客户机应用程序和目标 Web Service 在它们的 *.xmi 文件中具有安全性设置。您从拥有伙伴中获取此信息。
- 入站服务和出站服务具有您为它们配置的安全性设置。
要保护入站或出站服务,将以下类型的 WS-Security 资源应用于服务使用的端口:
- WS-Security 配置
- WS-Security 绑定
WS-Security 资源的管理独立于使用它们的任何 Web Service,因此您可以创建绑定或配置资源,然后将它应用于许多 Web Service。但是,入站服务(充当目标 Web Service)的安全要求与出站服务(充当客户机)所需的安全要求显著不同。因此,每种 WS-Security 资源类型进一步分成子类型。在创建新的配置资源时,您选择要创建的配置资源类型取决于是将配置应用于入站服务还是出站服务。当您创建新的绑定资源时,您选择要创建的绑定资源类型取决于使用绑定所处的上下文:
- 在使用从客户机到入站服务的请求时使用的绑定。
- 在生成从出站服务到目标 Web Service 的请求时使用的绑定。
- 在使用从目标 Web Service 到出站服务的响应时使用的绑定。
- 在生成从入站服务到客户机的响应时使用的绑定。
当创建 WS-Security 资源时,还要选择是创建符合 Web Service 安全性 (WS-Security) 1.0 规范的资源,还是创建符合 WS-Security Draft 13 规范的资源。
注: 建议不要在
WebSphere® Application Server
V6.0 中使用 WS-Security Draft 13。不推荐使用 WS-Security Draft 13,并且仅应使用它来允许连续使用已写至
WS-Security Draft 13 规范的现有
Web Service 客户机应用程序。
有关 WS-Security Draft 13 规范的历史记录的更多信息,请参阅Web Services 安全规范 - 年表。