文章
· 八月 26 阅读大约需 3 分钟

第八章 创建和使用策略

第八章 创建和使用策略

本主题介绍如何在 IRIS 中使用 WS-Policy 支持。WS-Policy 使您能够指定要使用或预期的 WS-Security 标头。它还使能够指定 WS-Addressing 标头和 MTOM 的使用(在创建 Web 服务和 Web 客户端中描述)。可以在单独的类中创建策略,而不是直接编辑 Web 服务或 Web 客户端。在大多数情况下,不需要进行低级编程。

概述

IRIS 中,Web 服务或客户端的策略(或策略集合)包含在单独的配置类中,即 %SOAP.Configuration的子类。编译该类时,策略生效。

通常不需要编码。但是,在某些情况下,可以通过编程指定详细信息,而不是将该元素硬编码到策略中。

配置类的作用

当编译配置类时,Web 服务或客户端的未来操作将受到如下影响:
- Web 服务或客户端根据策略的详细信息在出站消息中包含额外的标头元素。
- Web 服务或客户端根据策略验证传入的 SOAP 消息。这包括在适当的情况下解密传入的消息。
- 如果合适,Web 服务或客户端可以选择加密传出消息。
- 对于 Web 服务,WSDL 会自动受到影响。具体来说,会添加 <wsp:Policy> 元素,并且命名空间声明包括以下内容:

xmlns:wsp="http://www.w3.org/ns/ws-policy"

重要提示:如果配置类映射到多个命名空间,则必须在每个命名空间中对其进行编译。

WS-SecurityWS-AddressingMTOM 支持的关系

IRISWS-Policy 的支持建立在 IRISWS-SecurityWS-AddressingMTOM 的支持之上。请注意以下几点:

  • 如果策略不包含安全策略, IRIS 将使用 Web 服务或 Web 客户端的 SecurityOut 属性。(要手动将安全标头元素添加到 Web 服务或客户端,请将它们添加到 SecurityOut 属性,如其他地方所述。)
  • 如果策略确实包含安全策略,IRIS 将忽略 Web 服务或 Web 客户端的 SecurityOut 属性,但与该策略相关的任何元素除外。

例如,当使用相互 X.509 证书安全策略时,可以指定一个 IRIS 凭证集以直接在策略中使用,或者您可以在创建 %SYS.X509Credentials 的实例,并将其包含在二进制安全令牌中添加到 SecurityOut 属性。如果没有在策略中直接指定凭证集,IRIS 将从 SecurityOut 属性中检索二进制安全令牌并使用它。但是 IRIS 会忽略 SecurityOut 属性中的其他元素,因为它们不适用于此场景。

  • 如果策略需要 WS-AddressingIRIS 将忽略 WSADDRESSING 类参数。

但是,如果设置了 AddressingOut 属性,IRIS 将使用它指定的 WS-Addressing 标头。否则,它将使用默认的 WS-Addressing 标头集。

  • 如果策略需要 MTOMIRIS 将忽略 MTOMREQUIRED 类参数和 MTOMRequired 属性。

Web 服务和 Web 客户端的关系

当将策略附加到 Web 服务时,所有客户端都必须能够遵守该策略。如果 Web 服务策略不包含任何策略替代方案,则客户端必须具有与 Web 服务相同的策略,并在需要时用客户端证书代替服务器端证书。

类似地,如果将策略附加到 Web 客户端,则服务必须能够遵守该策略。

实际操作中,如果服务和客户端都是在 IRIS 中创建的,则以下步骤是最简单的:

  1. 创建 Web 服务类。
  2. 使用服务策略创建 Web 服务配置类。
  3. 生成客户端类,包括客户端配置类。

完成此操作后,检查生成的客户端类并根据需要进行更改。

通常还会为其创建一个包装类。

  1. 检查生成的配置类并根据需要进行更改。
讨论 (0)1
登录或注册以继续