如何:配置 WCF 客户端以与 WSE 3.0 服务进行互操作

当 WCF 客户端配置为使用 2004 年 8 月版的 WS-Addressing 规范时,Windows Communication Foundation (WCF) 客户端在网络级与 Web Services Enhancements 3.0 for Microsoft .NET (WSE) 服务兼容。

配置 WCF 客户端以与 WSE 3.0 Web 服务进行互操作

  1. 运行Service Metadata Utility Tool (SvcUtil.exe) 以创建用于 WSE 3.0 Web 服务的 WCF 客户端。

    对于 WSE Web 服务,将创建一个 WCF 客户端类。

    有关创建 WCF 客户端的详细信息,请参见如何:创建 Windows Communication Foundation 客户端

  2. 创建一个类,表示可与 WSE 3.0 Web 服务进行通信的绑定。

    下面的类是Interoperating with WSE示例的一部分。

    1. 创建一个从 Binding 类派生的类。
      下面的代码示例创建一个从 Binding 类派生的名为 WseHttpBinding 的类。
    2. 向该类添加指定 WSE 完整声明、是否需要派生密钥、是否使用安全会话、是否需要签名确认以及消息保护设置的属性。
      下面的代码示例定义了 SecurityAssertion, RequireDerivedKeys, EstablishSecurityContext, MessageProtectionOrder 属性,它们分别指定 WSE 完整声明、是否需要派生密钥、是否使用安全会话、是否需要签名确认,以及消息保护设置。
    3. 重写 CreateBindingElements 方法以设置绑定属性。
      下面的代码示例通过获取 SecurityAssertionMessageProtectionOrder 属性的值来指定传输协议、消息编码和消息保护设置。
  3. 在客户端应用程序代码中,添加设置绑定属性的代码。

    下面的代码示例指定 WCF 客户端必须使用 WSE 3.0 AnonymousForCertificate 完整安全断言定义的消息保护和身份验证。此外,还需要安全会话和派生密钥。

示例

下面的代码示例定义了一个自定义绑定,该绑定公开对应于 WSE 3.0 完整安全断言的各个属性的属性。该自定义绑定(名为 WseHttpBinding)然后用于指定 WCF 客户端的绑定属性。

另请参见

参考

Binding

其他资源

Interoperating with WSE