WSDL 和策略

本主题介绍 Windows Communication Foundation (WCF) WSDL 1.1、WS-Policy 和 WS-PolicyAttachment 实现的详细信息,以及 WCF 引入的其他 WS-Policy 断言和 WSDL 1.1 扩展。

WCF 使用本文档中所述的约束和说明来实现已提交给 W3C 的 WS-Policy 和 WS-PolicyAttachment 规范。

本文档使用下表中所示的前缀和命名空间。

前缀 命名空间
wsp (WS-Policy 1.2) http://schemas.xmlsoap.org/ws/2004/09/policy
wsp (WS-Policy 1.5) http://www.w3.org/ns/ws-policy
http http://schemas.microsoft.com/ws/06/2004/policy/http
msmq http://schemas.microsoft.com/ws/06/2004/mspolicy/msmq
msf http://schemas.microsoft.com/ws/2006/05/framing/policy
mssp http://schemas.microsoft.com/ws/2005/07/securitypolicy
msc http://schemas.microsoft.com/ws/2005/12/wsdl/contract
cdp http://schemas.microsoft.com/net/2006/06/duplex

WCF WSDL1.1 扩展

WCF 使用下列 WSDL1.1 扩展来描述协定会话需求。

wsdl:portType/wsdl:operation/@msc:isInitiating
xs:boolean,指示此操作启动一个 WCF 会话;默认值为 false

wsdl:portType/wsdl:operation/@msc:isTerminating
xs:boolean,指示此操作终止一个 WCF 会话;默认值为 false

wsdl:portType/wsdl:operation/@msc:usingSession
xs:boolean,指示此协定要求建立会话。

SOAP 1.x HTTP 绑定传输 URI

WCF 使用以下 URI 指示要用于 WSDL 1.1、SOAP 1.1 和 SOAP 1.2 绑定扩展元素的传输。

Transport URI
HTTP http://schemas.xmlsoap.org/soap/http
TCP http://schemas.microsoft.com/soap/tcp
MSMQ http://schemas.microsoft.com/soap/msmq
命名管道 http://schemas.microsoft.com/soap/named-pipe

由 WCF 实现的策略断言

除了在 Web 服务规范 (WS-*) 中引入的以及在本文档的其他部分提到的策略断言以外,WCF 还实现了以下策略断言。

策略断言 策略主题 说明
http:HttpBasicAuthentication 端点 终结点使用 HTTP 基本身份验证。
http:HttpDigestAuthentication 端点 终结点使用 HTTP 摘要式身份验证。
http:HttpNegotiateAuthentication 端点 终结点使用 HTTP 协商身份验证。
http:HttpNtlmAuthentication 端点 终结点使用 HTTP NTLM 身份验证。
msf:Streamed 端点 终结点使用经过流式处理的消息组帧。 此断言与为诸如 TCP 之类的传输以及命名管道提供的消息组帧协议一起使用。
msf:SslTransportSecurity 端点 终结点将传输层安全 (TLS) 与消息组帧技术一起使用。
msf:WindowsTransportSecurity 端点 终结点将安全提供程序协商 (SPNEGO) 与消息组帧一起使用。
msmq:MsmqBestEffort 端点 具有最大努力保证的 MSMQ。
msmq:MsmqSession 端点 具有会话保证的 MSMQ。
msmq:MsmqVolatile 端点 可变 MSMQ。
msmq:Authenticated 端点 将身份验证与 MSMQ 传输一起使用。
msmq:WindowsDomain 端点 MSMQ 使用 Windows 域身份验证。
cdp:CompositeDuplex 端点 终结点将两个独立且逆向的传输连接分别用于传入消息和传出消息。
mssp:RsaToken 嵌套 RSA 密钥令牌断言。 通常由作为认可签名中密钥信息的一部分直接序列化的 RSA 密钥来满足此要求。
mssp:SslContextToken 嵌套 要求使用通过利用 WS-Trust 的 TLS 握手获取的 SecurityContextToken。 嵌套断言包括:sp:RequireDerivedKeys、mssp:MustNotSendCancel、mssp:RequireClientCertificate。
mssp:MustNotSendCancel 嵌套 指定一个需求,即不要将使用 Cancel 绑定 [WS-Trust、WS-SC] 的请求安全令牌 (RST) 请求消息 [WS-Trust] 发送给给定 SecurityContextToken 的颁发机构。 如果此断言存在,则不得将此类请求消息发送给颁发机构。 如果此断言不存在,则可以将此类请求消息发送给颁发机构。
mssp:RequireClientCertificate 嵌套 这一可选元素指定需要作为 TLSNEGO 协议的一部分提供的客户端证书。 如果此断言存在,则必须提供客户端证书。 如果此断言不存在,则不得提供客户端证书。 此断言不得在 mssp:SslContextToken 外部使用。

另请参阅