WSDL e política
Este tópico aborda os detalhes de implementação do WSDL 1.1, do WS-Policy e do WS-PolicyAttachment do WCF (Windows Communication Foundation), bem como as declarações adicionais do WS-Policy e as extensões do WSDL 1.1 introduzidas pelo WCF.
O WCF implementa as especificações WS-Policy e WS-PolicyAttachment enviadas ao W3C com as restrições e os esclarecimentos descritos neste documento.
Este documento usa os prefixos e os namespaces mostrados na tabela a seguir.
Prefixo | Namespace |
---|---|
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 |
Extensões WSDL 1.1 do WCF
O WCF usa as extensões do WSDL 1.1 a seguir para descrever os requisitos da sessão do contrato.
wsdl:portType/wsdl:operation/@msc:isInitiating
xs:boolean, indica que essa operação inicia uma sessão do WCF. O valor padrão é false
.
wsdl:portType/wsdl:operation/@msc:isTerminating
xs:boolean, indica que essa operação encerra uma sessão do WCF. O valor padrão é false
.
wsdl:portType/wsdl:operation/@msc:usingSession
xs:boolean, indica que esse contrato exige que a sessão seja estabelecida.
URIs de Transporte de Associação HTTP SOAP 1.x
O WCF usa as URIs a seguir para indicar os transportes a serem usados para elementos de extensão de associação do WSDL 1.1, do SOAP 1.1 e do 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 |
Pipes nomeados | http://schemas.microsoft.com/soap/named-pipe |
Declarações de política implementadas pelo WCF
Além das declarações de política introduzidas nas especificações WS-* (Web Services) e mencionadas em outras seções deste documento, o WCF implementa as declarações de política a seguir.
Declaração de política | Entidade de política | Descrição |
---|---|---|
http:HttpBasicAuthentication | Ponto de extremidade | O ponto de extremidade usa a Autenticação Básica HTTP. |
http:HttpDigestAuthentication | Ponto de extremidade | O ponto de extremidade usa a Autenticação HTTP Digest. |
http:HttpNegotiateAuthentication | Ponto de extremidade | O ponto de extremidade usa a Autenticação HTTP Negotiate. |
http:HttpNtlmAuthentication | Ponto de extremidade | O ponto de extremidade usa a Autenticação HTTP NTLM. |
msf:Streamed | Ponto de extremidade | O ponto de extremidade usa o enquadramento de mensagens transmitidas. Essa declaração é usada com o protocolo Enquadramento de Mensagens fornecido para transportes como TCP e pipes nomeados. |
msf:SslTransportSecurity | Ponto de extremidade | O ponto de extremidade usa o protocolo TLS com o enquadramento de mensagens. |
msf:WindowsTransportSecurity | Ponto de extremidade | O ponto de extremidade usa a SPNEGO (Negociação do Provedor de Segurança) com o enquadramento de mensagens. |
msmq:MsmqBestEffort | Ponto de extremidade | MSMQ com garantias de melhor esforço. |
msmq:MsmqSession | Ponto de extremidade | MSMQ com garantias de sessão. |
msmq:MsmqVolatile | Ponto de extremidade | MSMQ volátil. |
msmq:Authenticated | Ponto de extremidade | A autenticação é usada com o transporte MSMQ. |
msmq:WindowsDomain | Ponto de extremidade | O MSMQ usa a autenticação de Domínio do Windows. |
cdp:CompositeDuplex | Ponto de extremidade | O ponto de extremidade usa duas conexões de transporte inversas separadas para mensagens de entrada e de saída. |
mssp:RsaToken | Aninhado | Declaração de token de chave RSA. Normalmente, esse requisito é atendido por uma chave RSA serializada diretamente como parte das informações principais em uma assinatura de endosso. |
mssp:SslContextToken | Aninhado | Exige o uso de um SecurityContextToken obtido por meio do handshake TLS binário que usa o WS-Trust. As declarações aninhadas incluem: sp:RequireDerivedKeys, mssp:MustNotSendCancel e mssp:RequireClientCertificate. |
mssp:MustNotSendCancel | Aninhado | Especifica um requisito para que as mensagens de solicitação de RST (token de segurança de solicitação) [WS-Trust] que usam a associação Cancel [WS-Trust, WS-SC] não sejam enviadas ao emissor de determinado SecurityContextToken. Se essa declaração estiver presente, essas mensagens de solicitação não precisarão ser enviadas ao emissor. Se essa declaração não estiver presente, essas mensagens de solicitação poderão ser enviadas ao emissor. |
mssp:RequireClientCertificate | Aninhado | Esse elemento opcional especifica um requisito para que um certificado de cliente seja fornecido como parte do protocolo TLSNEGO. Se essa declaração estiver presente, um certificado do cliente precisará ser fornecido. Se essa declaração não estiver presente, um certificado do cliente não precisará ser fornecido. Essa declaração não deve ser usada fora de mssp:SslContextToken. |