システム標準の相互運用性バインディングがサポートしている Web サービス プロトコル
Windows Communication Foundation (WCF) は、Web サービス仕様と呼ばれる一連の仕様をサポートする Web サービスと相互運用できるように構築されています。サービス構成を簡略化して相互運用性のベスト プラクティスを実現するために、WCF では、System.ServiceModel.BasicHttpBinding、System.ServiceModel.WSHttpBinding、および System.ServiceModel.WSDualHttpBinding の 3 つの相互運用可能なシステム指定のバインディングが導入されています。OASIS (Organization for the Advancement of Structured Information Standards) 標準との相互運用性を実現するために、WCF には System.ServiceModel.WS2007HttpBinding という相互運用可能なシステム指定のバインディングがあります。メタデータの公開用として WCF には、<mexHttpBinding> と <mexHttpsBinding> の 2 つの相互運用可能なシステム指定のバインディングがあります。このトピックでは、システム指定の相互運用可能なバインディングがサポートする仕様を示します。
basicHttpBinding、wsHttpBinding、ws2007HttpBinding、および wsDualHttpBinding の各バインディングでサポートされる Web サービス プロトコル
すべてのバインディング
basicHttpBinding、wsHttpBinding、および ws2007HttpBinding の各バインディングは、以下のプロトコルをサポートしています。
メモ : |
---|
メタデータの公開に使用するバインディングについては、このトピックで後述する「システム指定のメタデータ バインディング」を参照してください。 |
カテゴリ | プロトコル | 仕様と用途 |
---|---|---|
トランスポート |
HTTP 1.1 |
BasicHttpBinding、WSHttpBinding、および WS2007HttpBinding は、HTTP トランスポートおよび HTTPS トランスポートを使用します。 |
メッセージング |
MTOM |
basicHttpBinding、wsHttpBinding、および ws2007HttpBinding は、MTOM (Message Transmission Optimization Mechanism) をサポートしています。既定では使用されません。MTOM を使用するには、 例 :
|
メタデータ |
WSDL 1.1 |
WCF では、サービスの記述に Web サービス記述言語 (WSDL: Web Services Description Language) を使用します。 |
メタデータ |
WS-Policy |
WCF では、ドメイン固有のアサーションと共に WS-Policy 仕様を使用して、サービス要件と機能を記述します。 |
メタデータ |
WS-Policy 1.5 |
WCF では、ドメイン固有のアサーションと共に WS-Policy 仕様を使用して、サービス要件と機能を記述します。 |
メタデータ |
WS-PolicyAttachment |
WCF では、Web サービス記述言語 (WSDL) のさまざまなスコープでポリシー式を関連付けるために、WS-PolicyAttachment を実装しています。 |
メタデータ |
WS-MetadataExchange |
WCF では、XML スキーマ、WSDL、および WS-Policy を取得するために WS-MetadataExchange を実装しています。 |
basicHttpBinding
カテゴリ | プロトコル | 仕様と用途 |
---|---|---|
メッセージング |
SOAP 1.1 |
Basic Profile 1.1 に従って、basicHttpBinding 要素は SOAP 1.1 メッセージ プロトコルを実装しています。 |
セキュリティ |
WSS SOAP Message Security 1.0 |
Basic Security Profile に従って、basicHttpBinding 要素は、ユーザー名/パスワードおよび X.509 ベースのセキュリティを実現するために、WSS (Web Services Security) SOAP Message Security 1.0 仕様を実装しています。
|
セキュリティ |
WSS SOAP Message Security UsernameToken Profile 1.0 |
WSS SOAP Message Security UsernameToken Profile 1.0
|
セキュリティ |
WSS SOAP Message Security X.509 Certificate Token Profile 1.0 |
WSS SOAP Message Security X.509 Certificate Token Profile 1.0
|
wsHttpBinding、ws2007HttpBinding、および wsDualHttpBinding
カテゴリ | プロトコル | 仕様と用途 |
---|---|---|
メッセージング |
SOAP 1.2 |
|
メッセージング |
WS-Addressing 2005/08 |
Web Services Addressing 1.0 - Core Web Services Addressing 1.0 - SOAP wsHttpBinding、ws2007HttpBinding、および wsDualHttpBinding は、非同期メッセージング、メッセージ相関、およびトランスポート中立のアドレス指定機構を有効にするために、W3C (World Wide Web Consortium) WS-Addressing 勧告を実装しています。 |
セキュリティ |
WSS SOAP Message Security 1.0 |
securityMode 属性が "wsSecurityOverHttp" (既定) に設定され、wsSecurity 子要素を使用してパラメータが構成されている場合に使用します。
|
セキュリティ |
WSS SOAP Message Security UsernameToken Profile 1.1 |
WSS SOAP Message Security UsernameToken Profile 1.0 wsSecurity 要素の authenticationMode 属性が "Username" に設定されている場合に使用します。
|
セキュリティ |
WSS SOAP Message Security X.509 Certificate Token Profile 1.1 |
WSS SOAP Message Security X.509 Certificate Token Profile 1.1 wsSecurity 要素の authenticationMode 属性が "Username"、"Certificate"、または "None" に設定されている場合に、メッセージを保護するために使用します。また、wsSecurity 要素の authenticationMode 属性が "Certificate" に設定されている場合は、クライアント認証に使用します。
|
セキュリティ |
WSS SOAP Message Security Kerberos Token Profile 1.1 |
WSS SOAP Message Security Kerberos Token Profile 1.1 wsSecurity 要素の authenticationMode 属性が "Windows" に設定されている場合に、認証とメッセージの保護に使用します。
|
セキュリティ |
WS-SecureConversation |
security/@mode 属性が "Message" に設定され、message/@establishSecurityContext 属性が "true" (既定値) に設定されている場合に、セッションをセキュリティで保護するために使用します。 |
セキュリティ |
WS-Trust |
WS-SecureConversation で使用されます (上記を参照)。 |
信頼できるメッセージ機能 |
WS-ReliableMessaging |
バインディングが reliableSession を使用するように構成されている場合に使用します。
|
トランザクション |
WS-AtomicTransaction |
トランザクション マネージャ間での通信に使用します。WCF クライアントとサービスは、常にローカルのトランザクション マネージャを使用します。 |
トランザクション |
WS-Coordination |
flowTransactions 属性が "Allowed" または "Required" に設定されている場合に、トランザクション コンテキストをフローするために使用します。
|
wsFederationHttpBinding および ws2007FederationHttpBinding
フェデレーション シナリオをサポートするために、wsFederationHttpBinding 要素と ws2007FederationHttpBinding 要素が導入されています。フェデレーション シナリオでは、クライアントの認証に使用するトークンをサードパーティが発行します。wsHttpBinding で使用されるプロトコルに加えて、wsFederationHttpBinding では次のものを使用します。
- トークンを発行するための WS-Trust
- 最も一般的に発行されるトークンの形式のための WSS SAML (Security Assertions Markup Language) Token Profile 1.0 および 1.1
例 :
<wsFederationHttpBinding>
<binding name="myBinding">
<security mode="Message">
<message issuedKeyType="Symmetric"
issuedTokenType="http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV1.1">
<issuerMetadata address =
'https://localhost/FederationSample/HomeRealmSTS/STS.svc/mex'>
</message>
</security>
</binding>
</wsFederationHttpBinding>
詳細な情報については、次のページを参照してください。 「フェデレーション」を参照してください。
システム指定のメタデータ バインディング
次の表に、System.ServiceModel.Description.MetadataExchangeBindings クラスによって公開される、システム指定の相互運用可能なメタデータ バインディングによってサポートされるプロトコルを示します。
mexHttpBinding
<mexHttpBinding> バインディングは、以下のプロトコルをサポートしています。このバインディングの使い方詳細については、 、「メタデータの公開」を参照してください。
カテゴリ | プロトコル | 仕様と用途 |
---|---|---|
トランスポート |
HTTP 1.1 |
|
メッセージング |
SOAP 1.2 |
|
メッセージング |
WS-Addressing 2005/08 |
|
メタデータ |
WS-MetadataExchange |
WCF は、XML スキーマ、WSDL、および WS-Policy を取得するために、WS-MetadataExchange を実装しています。 |
mexHttpsBinding
<mexHttpsBinding> は、以下のプロトコルをサポートしています。このバインディングの使い方詳細については、 、「メタデータの公開」を参照してください。
カテゴリ | プロトコル | 仕様と用途 |
---|---|---|
トランスポート |
HTTP 1.1 |
メモ :
トランスポート セキュリティは有効です。
|
メッセージング |
SOAP 1.2 |
|
メッセージング |
WS-Addressing 2005/08 |
|
メタデータ |
WS-MetadataExchange |
WCF は、XML スキーマ、WSDL、および WS-Policy を取得するために、WS-MetadataExchange を実装しています。 |
関連項目
概念
その他の技術情報
basicHttpBinding Element
wsHttpBinding Element
wsHttpDualHttpBinding Element
<mexHttpsBinding>
<mexHttpBinding>