Поделиться через


Протоколы веб-служб, поддерживаемые предоставляемыми системой привязками

Платформа Windows Communication Foundation (WCF) предназначена для взаимодействия с веб-службами, поддерживающими набор спецификаций, называемых спецификациями веб-служб. Для упрощения настройки служб в соответствии с рекомендациями по взаимодействию в WCF введены три предоставляемые системой привязки с возможностью взаимодействия: System.ServiceModel.BasicHttpBinding, System.ServiceModel.WSHttpBinding и System.ServiceModel.WSDualHttpBinding. Для обеспечения взаимодействия со стандартами OASIS (Organization for the Advancement of Structured Information Standards — Организация по стандартизации структурированной информации) в WCF предусмотрена одна предоставляемая системой привязка с возможностью взаимодействия: System.ServiceModel.WS2007HttpBinding. Для публикации метаданных в WCF предусмотрены две предоставляемые системой привязки с возможностью взаимодействия: <mexHttpBinding> и <mexHttpsBinding>. В этом разделе перечислены спецификации, поддерживаемые предоставляемыми системой привязками с возможностью взаимодействия.

Протоколы веб-служб, поддерживаемые привязками basicHttpBinding, wsHttpBinding, ws2007HttpBinding и wsDualHttpBinding

Все привязки

Привязки basicHttpBinding, wsHttpBinding и ws2007HttpBinding поддерживают следующие протоколы.

ms730294.note(ru-ru,VS.100).gifПримечание
Сведения о привязках, используемых для публикации метаданных, см. в разделе "Предоставляемые системой привязки метаданных" ниже.

Категория Протокол Спецификация и использование

Транспорт

HTTP 1.1

HTTP 1.1

BasicHttpBinding, WSHttpBinding, и WS2007HttpBinding используют протоколы HTTP и HTTPS.

Обмен сообщениями

MTOM

MTOM

basicHttpBinding, wsHttpBinding и ws2007HttpBinding поддерживают механизм оптимизации передачи сообщений (MTOM). По умолчанию не используется. Чтобы использовать MTOM, присвойте атрибуту messageEncoding значение "Mtom".

Пример:

<wsHttpBinding>
<binding messageEncoding="Mtom"/>
</wsHttpBinding>

Метаданные

WSDL 1.1

WSDL 1.1

В WCF язык WSDL используется для описания служб.

Метаданные

WS-Policy

WS-Policy

В WCF спецификация WS-Policy используется вместе с доменными утверждениями для описания требований и возможностей служб.

Метаданные

WS-Policy 1.5

WS-Policy 1.5

В WCF спецификация WS-Policy используется вместе с доменными утверждениями для описания требований и возможностей служб.

Метаданные

WS-PolicyAttachment

WS-PolicyAttachment

WCF реализует спецификацию WS-PolicyAttachment для прикрепления выражений политики в различных областях на языке WSDL.

Метаданные

WS-MetadataExchange

WS-MetadataExchange

WCF реализует спецификацию WS-MetadataExchange для извлечения схемы XML, языка WSDL и спецификации WS-Policy.

basicHttpBinding

Категория Протокол Спецификация и использование

Обмен сообщениями

SOAP 1.1

SOAP 1.1

В соответствии со спецификацией Basic Profile 1.1 элемент basicHttpBinding реализует протокол обмена сообщениями SOAP 1.1.

Безопасность

WSS SOAP Message Security 1.0

WSS SOAP Message Security 1.0

В соответствии со спецификацией Basic Security Profile элемент basicHttpBinding реализует спецификацию Web Services Security (WSS) SOAP Message Security 1.0 для имени пользователя/пароля и безопасности на основе сертификатов X.509.

<basicHttpBinding>
<binding name="Binding1">
<security mode="TransportWithMessageCredential | 
                   "Message" .../>
</binding>
</basicHttpBinding>

Безопасность

WSS SOAP Message Security UsernameToken Profile 1.0

WSS SOAP Message Security UsernameToken Profile 1.0

<basicHttpBinding>
<binding name="Binding1">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Basic"/>
</security>
</basicHttpBinding>

Безопасность

WSS SOAP Message Security X.509 Certificate Token Profile 1.0

WSS SOAP Message Security X.509 Certificate Token Profile 1.0

<basicHttpBinding>
  <security mode="Message">
<message clientCredentialType="Certificate"/>
</security>
</basicHttpBinding>

wsHttpBinding, ws2007HttpBinding и wsDualHttpBinding

Категория Протокол Спецификация и использование

Обмен сообщениями

SOAP 1.2

Учебник для начинающих (доступен неофициальный перевод на русский язык)

Платформа обмена сообщениями (на английском языке)

Дополнения (включая привязку HTTP) (на английском языке)

Обмен сообщениями

WS-Addressing 2005/08

Web Services Addressing 1.0 - Core

Web Services Addressing 1.0 - SOAP

Привязки wsHttpBinding, ws2007HttpBinding и wsDualHttpBinding реализуют рекомендацию спецификации WS-Addressing консорциума W3C (включение асинхронного обмена сообщениями, корреляции сообщений и механизмов адресации без привязки к конкретному транспортному протоколу).

Обмен сообщениями

WS-Addressing 1.0 ― метаданные

Метаданные WS-Addressing 1.0. Поддержка этого протокола включается путем задания версии политики в поведении ServiceMetadata ― если параметру policyversion задано значение 1,2 (значение по умолчанию), описание wsdl соответствует WS-Addressing wsdl; если параметру policyversion задано значение 1,5, описание wsdl соответствует метаданным ws-addressing.

Безопасность

WSS SOAP Message Security 1.0

WSS SOAP Message Security 1.0

Используется, когда атрибуту securityMode присвоено значение "wsSecurityOverHttp" (по умолчанию) и параметры настроены с использованием дочернего элемента wsSecurity.

<wsHttpBinding>
  <binding name="myBinding">
     <security mode="Message" .../>
  </binding>
</wsHttpBinding>

Безопасность

WSS SOAP Message Security UsernameToken Profile 1.1

WSS SOAP Message Security UsernameToken Profile 1.0

Используется, когда атрибуту authenticationMode элемента wsSecurity присвоено значение "Username".

<wsHttpBinding>
  <binding name="MyBinding">
    <security mode="Message>
      <message   
       clientCredentialType="UserName
       negotiateServiceCredential="false"
       establishSecurityContext="false"/>
    </security>
</binding>
</wsHttpBinding>

Безопасность

WSS SOAP Message Security X.509 Certificate Token Profile 1.1

WSS SOAP Message Security X.509 Certificate Token Profile 1.1

Используется для защиты сообщений, когда атрибуту authenticationMode элемента wsSecurity присвоено значение "Username", "Certificate" или "None". Кроме того, используется для проверки подлинности клиентов, когда атрибуту authenticationMode элемента wsSecurity присвоено значение "Certificate".

<wsHttpBinding>
  <binding name="MyBinding">
    <security mode="Message>
      <message   
       clientCredentialType="Certificate"
       negotiateServiceCredential="false"
       establishSecurityContext="false"/>
    </security>
  </binding>
</wsHttpBinding>

Безопасность

WSS SOAP Message Security Kerberos Token Profile 1.1

WSS SOAP Message Security Kerberos Token Profile 1.1

Используется для проверки подлинности и защиты сообщений, когда атрибуту authenticationMode элемента wsSecurity присвоено значение "Windows".

<wsHttpBinding>
  <binding name="MyBinding">
    <security mode="Message>
      <message   
       clientCredentialType="Windows"
       negotiateServiceCredential="false"
       establishSecurityContext="false"/>
    </security>
  </binding>
</wsHttpBinding>

Безопасность

WS-SecureConversation

WS-SecureConversation

Используется для обеспечения безопасного сеанса, когда атрибуту security/@mode присвоено значение "Message", а атрибуту message/@establishSecurityContext присвоено значение "true" (по умолчанию).

Безопасность

WS-Trust

WS-Trust

Используется в спецификации WS-SecureConversation (см. выше).

Надежный обмен сообщениями

WS-ReliableMessaging

WS-ReliableMessaging

Используется, когда привязка настроена на использование свойства reliableSession.

<wsHttpBinding>
 <binding name="myBinding">
   <reliableSession/>
  </binding>
</wsHttpBinding>

Транзакции

WS-AtomicTransaction

WS-AtomicTransaction

Используется для обмена данными между диспетчерами транзакций. Клиенты и службы WCF всегда используют локальные диспетчеры транзакций.

Транзакции

WS-Coordination

WS-Coordination

Используется для поточной передачи контекста транзакций, когда атрибуту присвоено значение flowTransactions "Allowed" или "Required".

<wsHttpBinding>
  <binding transactionFlow="true"/>
</wsHttpBinding>

wsFederationHttpBinding и ws2007FederationHttpBinding

Элементы wsFederationHttpBinding и ws2007FederationHttpBinding введены для обеспечения поддержки федеративных сценариев, в которых третье лицо выдает маркер, используемый для проверки подлинности клиента. В дополнение к протоколам, используемым привязкой wsHttpBinding, привязка wsFederationHttpBinding позволяет использовать следующие спецификации:

  • WS-Trust для выдачи маркеров.

  • WSS Security Assertions Markup Language (SAML) 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

HTTP 1.1

Обмен сообщениями

SOAP 1.2

Учебник для начинающих (доступен неофициальный перевод на русский язык)

Платформа обмена сообщениями (на английском языке)

Дополнения (включая привязку HTTP) (на английском языке)

Обмен сообщениями

WS-Addressing 2005/08

Web Services Addressing 1.0 - Core

Web Services Addressing 1.0 - SOAP

Метаданные

WS-MetadataExchange

WS-MetadataExchange

WCF реализует спецификацию WS-MetadataExchange для извлечения схемы XML, языка WSDL и спецификации WS-Policy.

mexHttpsBinding

Привязка <mexHttpsBinding> поддерживает следующие протоколы. Дополнительные сведения б использовании этой привязки см. в разделе Публикация метаданных.

Категория Протокол Спецификация и использование

Транспорт

HTTP 1.1

HTTP 1.1

ms730294.note(ru-ru,VS.100).gifПримечание
Безопасность транспорта включена.

Обмен сообщениями

SOAP 1.2

Учебник для начинающих (доступен неофициальный перевод на русский язык)

Платформа обмена сообщениями (на английском языке)

Дополнения (включая привязку HTTP) (на английском языке)

Обмен сообщениями

WS-Addressing 2005/08

Web Services Addressing 1.0 - Core

Web Services Addressing 1.0 - SOAP

Метаданные

WS-MetadataExchange

WS-MetadataExchange

WCF реализует спецификацию WS-MetadataExchange для извлечения схемы XML, языка WSDL и спецификации WS-Policy.

См. также

Основные понятия

Привязки, предоставляемые системой

Другие ресурсы

basicHttpBinding Element
wsHttpBinding Element
wsHttpDualHttpBinding Element
<mexHttpsBinding>
<mexHttpBinding>