Associações de interoperabilidade fornecidas pelo sistema oferece suporte para protocolos de serviços Web

O WCF (Windows Communication Foundation) foi criado para interoperar com serviços Web que dão suporte a um conjunto de especificações conhecido como especificações de serviços Web. Para simplificar a configuração de serviço para melhores práticas de interoperabilidade, o WCF apresenta três associações interoperáveis fornecidas pelo sistema: System.ServiceModel.BasicHttpBinding, System.ServiceModel.WSHttpBinding e System.ServiceModel.WSDualHttpBinding. Para interoperabilidade com padrões OASIS (Organization for the Advancement of Structured Information Standards), o WCF inclui uma associação interoperável fornecida pelo sistema: System.ServiceModel.WS2007HttpBinding. Para publicação de metadados, o WCF inclui duas associações interoperáveis fornecidas pelo sistema: <mexHttpBinding> e <mexHttpsBinding>. Este tópico lista as especificações que dão suporte a associações interoperáveis fornecidas pelo sistema.

Protocolos de Serviços Web que dão suporte às associações basicHttpBinding, wsHttpBinding, ws2007HttpBinding e wsDualHttpBinding

Todas as Associações

As associações <basicHttpBinding>, <wsHttpBinding> e <ws2007HttpBinding> dão suporte aos protocolos a seguir.

Observação

Para obter informações sobre as associações usadas para publicar metadados, confira a seção "Associações de Metadados Fornecidas pelo Sistema" mais adiante neste tópico.

Categoria Protocolo Especificação e Uso
Transport HTTP 1.1 HTTP 1.1

BasicHttpBinding, WSHttpBinding e WS2007HttpBinding usam os transportes HTTP e HTTPS.
Mensagens MTOM MTOM

basicHttpBinding, wsHttpBinding e ws2007HttpBinding dão suporte ao MTOM (Message Transmission Optimization Mechanism). Não usado por padrão. Para usar o MTOM, defina o atributo messageEncoding como "Mtom".

Exemplo:

<wsHttpBinding> <binding messageEncoding="Mtom"/> </wsHttpBinding>
Metadados WSDL 1.1 WSDL 1.1

O WCF usa WSDL (Web Services Description Language) para descrever os serviços.
Metadados WS-Policy WS-Policy

O WCF usa as especificações do WS-Policy, juntamente com declarações específicas do domínio para descrever requisitos e recursos de serviço.
Metadados WS-Policy 1.5 WS-Policy 1.5

O WCF usa as especificações do WS-Policy, juntamente com declarações específicas do domínio para descrever requisitos e recursos de serviço.
Metadados WS-PolicyAttachment WS-PolicyAttachment

O WCF implementa o WS-PolicyAttachment para anexar expressões de política em vários escopos na linguagem WSDL.
Metadados WS-MetadataExchange WS-MetadataExchange

O WCF implementa o WS-MetadataExchange para recuperar o XML Schema, WSDL e WS-Policy.

basicHttpBinding

Categoria Protocolo Especificação e Uso
Mensagens SOAP 1.1 SOAP 1.1

De acordo com o Basic Profile 1.1, o elemento basicHttpBinding implementa o protocolo de mensagem do SOAP 1.1.
Segurança WSS SOAP Message Security 1.0 WSS SOAP Message Security 1.0

De acordo com o Perfil de Segurança Básica, o elemento basicHttpBinding implementa a especificação do SOAP Message Security 1.0 do WSS (Segurança dos Serviços Web) para nome de usuário/senha e segurança baseada em X.509.

<basicHttpBinding> <binding name="Binding1"> <security mode="TransportWithMessageCredential &#124; "Message" .../> </binding> </basicHttpBinding>
Segurança 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>
Segurança 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 e wsDualHttpBinding

Categoria Protocolo Especificação e Uso
Mensagens SOAP 1.2 Instruções elementares

Estrutura de mensagens

Adjuntos (incluindo a associação HTTP)
Mensagens WS-Addressing 2005/08 Endereçamento de Serviços Web 1.0 – Núcleo

Endereçamento de Serviços Web 1.0 – SOAP

O wsHttpBinding, ws2007HttpBinding e wsDualHttpBinding implementam a recomendação do WS-Addressing do o W3C (World Wide Web Consortium) para habilitar o sistema de mensagens assíncronas, a correlação de mensagens e os mecanismos de endereçamento com neutralidade de transporte.

O WCF não dá suporte à criptografia de cabeçalhos do WS-Addressing, embora isso seja permitido pelas especificações do WS-*.
Mensagens WS-Addressing 1.0 – Metadados Metadados de WS-Addressing 1.0 O suporte para esse protocolo é habilitado definindo a versão da política no comportamento do ServiceMetadata – com a versão da política definida como 1.2 (o padrão), a descrição do WSDL está em conformidade com o WSDL do WS-Addressing, e a versão da política é definida como 1.5, a descrição do WSDL está em conformidade com os metadados de WS-Addressing.

O WCF não dá suporte à criptografia de cabeçalhos do WS-Addressing, embora isso seja permitido pelas especificações do WS-*.
Segurança WSS SOAP Message Security 1.0 WSS SOAP Message Security 1.0

Use quando o atributo securityMode for definido como "wsSecurityOverHttp" (padrão) e os parâmetros forem configurados usando um elemento filho wsSecurity.

<wsHttpBinding> <binding name="myBinding"> <security mode="Message" .../> </binding> </wsHttpBinding>
Segurança WSS SOAP Message Security UsernameToken Profile 1.1 WSS SOAP Message Security UsernameToken Profile 1.0

Use quando o atributo wsSecurity do elemento authenticationMode for definido como "Nome de usuário".

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="UserName negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>
Segurança WSS SOAP Message Security X.509 Certificate Token Profile 1.1 WSS SOAP Message Security X.509 Certificate Token Profile 1.1

Use para proteção de mensagens quando o atributo wsSecurity do elemento authenticationMode for definido como "Nome de usuário", "Certificado" ou "Nenhum". Além disso, use-o para autenticação do cliente quando o atributo wsSecurity do elemento authenticationMode for definido como "Certificado".

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Certificate" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>
Segurança WSS SOAP Message Security Kerberos Token Profile 1.1 WSS SOAP Message Security Kerberos Token Profile 1.1

Use para autenticação e proteção de mensagens quando o atributo wsSecurity do elemento authenticationMode for definido como "Windows".

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Windows" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>
Segurança WS-SecureConversation WS-SecureConversation

Use para fornecer uma sessão segura quando o atributo security/@mode for definido como "Mensagem" e o atributo message/@establishSecurityContext for definido como "true" (padrão).
Segurança WS-Trust WS-Trust

Usado pelo WS-SecureConversation (veja acima).
Mensagens confiáveis WS-ReliableMessaging WS-ReliableMessaging

Use quando a associação estiver configurada para usar reliableSession.

<wsHttpBinding> <binding name="myBinding"> <reliableSession/> </binding> </wsHttpBinding>
Transactions WS-AtomicTransaction WS-AtomicTransaction

Use para comunicação entre gerenciadores de transação. Os clientes e serviços do WCF sempre usam gerenciadores de transação locais.
Transactions WS-Coordination WS-Coordination

Use para fluir o contexto da transação quando o atributo flowTransactions for definido como "Permitido" ou "Obrigatório".

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

wsFederationHttpBinding e ws2007FederationHttpBinding

Os elementos <wsFederationHttpBinding> e <ws2007FederationHttpBinding> são apresentados para dar suporte para cenários federados, em que um terceiro emite um token usado para autenticar um cliente. Além dos protocolos usados por wsHttpBinding, o wsFederationHttpBinding utiliza no seguinte caso:

  • WS-Trust para emissão de token.

  • WSS Security Assertions Markup Language (SAML) Token Profile 1.0 e 1.1 para o formato de token mais comum emitido.

Exemplo:

<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 =
         'http://localhost/FederationSample/HomeRealmSTS/STS.svc/mex'/>
       </message>
     </security>
  </binding>
</wsFederationHttpBinding>

Para obter mais informações, confira Federação.

Associações de Metadados Fornecidos pelo Sistema

As tabelas a seguir descrevem os protocolos compatíveis com as associações de metadados interoperáveis fornecidas pelo sistema e expostas pela classe System.ServiceModel.Description.MetadataExchangeBindings.

mexHttpBinding

A <associação mexHttpBinding> dá suporte aos protocolos a seguir. Para obter mais informações sobre como usar essa associação, confira Os metadados de publicação.

Categoria Protocolo Especificação e Uso
Transport HTTP 1.1 HTTP 1.1
Mensagens SOAP 1.2 Instruções elementares

Estrutura de mensagens

Adjuntos (incluindo a associação HTTP)
Mensagens WS-Addressing 2005/08 Endereçamento de Serviços Web 1.0 – Núcleo

Endereçamento de Serviços Web 1.0 – SOAP
Metadados WS-MetadataExchange WS-MetadataExchange

O WCF implementa o WS-MetadataExchange para recuperar o XML Schema, WSDL e WS-Policy.

mexHttpsBinding

<mexHttpsBinding> dá suporte aos protocolos a seguir. Para obter mais informações sobre como usar essa associação, confira Os metadados de publicação.

Categoria Protocolo Especificação e Uso
Transport HTTP 1.1 HTTP 1.1

A segurança do transporte está habilitada.
Mensagens SOAP 1.2 Instruções elementares

Estrutura de mensagens

Adjuntos (incluindo a associação HTTP)
Mensagens WS-Addressing 2005/08 Endereçamento de Serviços Web 1.0 – Núcleo

Endereçamento de Serviços Web 1.0 – SOAP
Metadados WS-MetadataExchange WS-MetadataExchange

O WCF implementa o WS-MetadataExchange para recuperar o XML Schema, WSDL e WS-Policy.

Confira também