将 WebSphere DataPower SOA Appliances 配置为 Web 服务代理
现在可以检测 WebSphere DataPower SOA Appliances 以执行标准 XML 加密。在您的配置中,WebSphere DataPower SOA Appliances 充当 Web 服务代理,从中央系统获取 SOAP 消息,执行加密,然后将这些消息转发到 ESB。在本部分中,将分步介绍如何将 WebSphere DataPower SOA Appliances 配置为 Web 服务代理,以便执行下列操作:
*在指定的统一资源标识符 (URI) 处侦听 SOAP 消息。
*使用 Web 服务描述语言 (WSDL) 文件(部署在 ESB 计算机上)中指定的绑定信息将这些消息转发到 ESB。
*应用加密策略对传入消息执行标准 XML 加密。
让我们从头开始:
1.在控制面板中,单击 New Web Service Proxy 图标。将显示 Web 服务代理配置页。
2.在 Proxy Name 字段中输入 ESB_Proxy。
3.单击 Upload 上传 WSDL(请参见图 5)。
图 5. Web 服务代理

4.选择 Export1_AsynchResSystemExportHttp_Service.wsdl 作为要上传的文件,然后按 OK。
注意:Export1_AsynchResSystemExportHttp_Service.wsdl 文件包含绑定信息并在 ESB 上生成。详细信息将在本系列的下一篇文章中提供。您可以下载一个示例(具有缺省配置)。要让 WebSphere DataPower SOA Appliances 正确解析 Export1_AsynchResSystemExportHttp_Service.wsdl 文件,还需要上传 xenc.xsd、xdig.xsd 和 AsynchResSystemExport.wsdl 文件。前两个文件包含 XML 加密和用于执行加密的 XML 数字签名命名空间,最后一个文件包含在 ESB 上部署的服务的接口定义,WebSphere DataPower SOA Appliances 在对敏感数据执行加密后必须调用此接口定义。为此,在创建 Web 服务代理之前,请使用文件管理实用工具将这些文件上传到本地文件夹。这可以保证在代理创建阶段上传 Export1_AsynchResSystemExportHttp_Service.wsdl 时,WebSphere DataPower SOA Appliances 能够成功解析此文件。
5.在上传和成功解析此文件之后,您应看到一些新的文本字段,其中填充了上传的 WSDL 文件中包含的端点值。此信息根据要联系的 ESB 主机名、其端口地址和要调用服务的 URL 检测 WebSphere DataPower SOA Appliances。您应原样保留此数据(请参见图 6)。
图 6. WSDL 端点设置
6.要作为代理使用,以便将消息转发到 ESB,WebSphere DataPower SOA Appliances 必须在指定的 URI 上侦听某个端口。要提供此信息,请单击 Local Endpoint Handler 下方的 + 号图标以显示一个下拉列表。
7.选择 HTTP Front Side Handler,如图 7 所示。
图 7. 创建 HTTP 处理程序
8.这将显示一个新窗口。输入 ESB_Handler 作为名称,并提供一个可用端口。
9.单击 Apply。图 8 显示了结果。
图 8. 配置 HTTP 前端

10.屏幕将刷新,您将在 Web Service Proxy 窗口中看到所提供信息的摘要。单击 Apply,然后单击 Save 按钮以保存执行的更改。
11.单击 Web 服务代理上的 Policy 选项卡。
12.选择 Request 规则,然后双击该规则。策略窗口将出现在页面的底部,如图 9 所示。
图 9. 配置策略
13.单击 Encrypt 操作,并将其拖动到策略窗口上。
14.双击 Encrypt 操作。在出现的窗口中,选择 Advanced 选项卡。
15.要对 SOAP 消息正文(sdoWrapper 服务数据对象)的一部分执行标准 XML 加密,您需要选中 Standard XML Encryption 和 Selected Elements(Field-Level) 复选框。
图 10. 配置加密操作