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) |
https://schemas.xmlsoap.org/ws/2004/09/policy |
wsp (WS-Policy 1.5) |
http://www.w3.org/ns/ws-policy |
http |
https://schemas.microsoft.com/ws/06/2004/policy/http |
msmq |
https://schemas.microsoft.com/ws/06/2004/mspolicy/msmq |
msf |
https://schemas.microsoft.com/ws/2006/05/framing/policy |
mssp |
https://schemas.microsoft.com/ws/2005/07/securitypolicy |
msc |
https://schemas.microsoft.com/ws/2005/12/wsdl/contract |
cdp |
https://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 および 1.2 のバインディング拡張要素に使用するトランスポートを示します。
トランスポート | URI |
---|---|
HTTP |
https://schemas.xmlsoap.org/soap/http |
TCP |
https://schemas.microsoft.com/soap/tcp |
MSMQ |
https://schemas.microsoft.com/soap/msmq |
名前付きパイプ |
https://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 |
エンドポイント |
エンドポイントは、Security Provider Negotiation (SPNEGO) をメッセージ フレームと共に使用します。 |
msmq:MsmqBestEffort |
エンドポイント |
MSMQ はベストエフォート保証を使用します。 |
msmq:MsmqSession |
エンドポイント |
MSMQ はセッション保証を使用します。 |
msmq:MsmqVolatile |
エンドポイント |
MSMQ は揮発性です。 |
msmq:Authenticated |
エンドポイント |
認証が、MSMQ トランスポートと共に使用されます。 |
msmq:WindowsDomain |
エンドポイント |
MSMQ は Windows ドメイン認証を使用します。 |
cdp:CompositeDuplex |
エンドポイント |
エンドポイントは、メッセージの送受信に 2 つの個別の逆方向トランスポート接続を使用します。 |
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 の外側で使用することはできません。 |
関連項目
タスク
方法 : カスタム WSDL をエクスポートする
方法 : カスタム WSDL をインポートする