Protokoły usług sieci Web obsługiwane przez wiązania współdziałania udostępnione przez system
Program Windows Communication Foundation (WCF) jest zbudowany w celu współdziałania z usługami sieci Web obsługującymi zestaw specyfikacji znanych jako specyfikacje usług sieci Web. Aby uprościć konfigurację usługi w celu uzyskania najlepszych rozwiązań dotyczących współdziałania, program WCF wprowadza trzy powiązania dostarczane przez system: System.ServiceModel.BasicHttpBinding, System.ServiceModel.WSHttpBindingi System.ServiceModel.WSDualHttpBinding. W celu współdziałania z organizacją na rzecz rozwoju standardów ustrukturyzowanych informacji (OASIS) program WCF zawiera jedno powiązanie System.ServiceModel.WS2007HttpBindingzapewniane przez system: . W przypadku publikacji metadanych program WCF zawiera dwa powiązania dostarczane przez system: mexHttpBinding> i <mexHttpsBinding>.< W tym temacie wymieniono specyfikacje, które obsługują powiązania międzyoperacyjne udostępniane przez system.
Protokoły usług sieci Web obsługiwane przez podstawoweHttpBinding, wsHttpBinding, ws2007HttpBinding i wsDualHttpBinding
Wszystkie powiązania
Podstawowe <powiązaniaHttpBinding>, <wsHttpBinding> i <ws2007HttpBinding> obsługują następujące protokoły.
Uwaga
Aby uzyskać informacje o powiązaniach używanych do publikowania metadanych, zobacz sekcję "Powiązania metadanych udostępnionych przez system" w dalszej części tego tematu.
Kategoria | Protokół | Specyfikacja i użycie |
---|---|---|
Transport | HTTP 1.1 | HTTP 1.1BasicHttpBinding , WSHttpBinding i WS2007HttpBinding używają transportu HTTP i HTTPS. |
Obsługa komunikatów | MTOM | MTOMbasicHttpBinding , wsHttpBinding i ws2007HttpBinding obsługują mechanizm optymalizacji transmisji komunikatów (MTOM). Nieużytowane domyślnie. Aby użyć funkcji MTOM, ustaw messageEncoding atrybut na "Mtom" .Przykład: <wsHttpBinding> <binding messageEncoding="Mtom"/> </wsHttpBinding> |
Metadane | WSDL 1.1 | WSDL 1.1 WCF używa języka WSDL (Web Services Description Language) do opisywania usług. |
Metadane | Zasady WS | Zasady WS WCF używa specyfikacji WS-Policy wraz z asercji specyficznych dla domeny do opisywania wymagań i możliwości usługi. |
Metadane | WS-Policy 1.5 | WS-Policy 1.5 WCF używa specyfikacji WS-Policy wraz z asercji specyficznych dla domeny do opisywania wymagań i możliwości usługi. |
Metadane | WS-PolicyAttachment | WS-PolicyAttachment Program WCF implementuje wtyczki WS-PolicyAttachment w celu dołączania wyrażeń zasad w różnych zakresach w języku WSDL (Web Services Description Language). |
Metadane | WS-MetadataExchange | WS-MetadataExchange Program WCF implementuje program WS-MetadataExchange w celu pobrania schematu XML, języka WSDL i zasad WS-Policy. |
basicHttpBinding
Kategoria | Protokół | Specyfikacja i użycie |
---|---|---|
Obsługa komunikatów | SOAP 1.1 | SOAP 1.1 Zgodnie z profilem podstawowym 1.1 basicHttpBinding element implementuje protokół komunikatów PROTOKOŁU SOAP 1.1. |
Zabezpieczenia | Zabezpieczenia komunikatów protokołu SOAP WSS 1.0 | Zabezpieczenia komunikatów protokołu SOAP WSS 1.0 Zgodnie z podstawowym profilem basicHttpBinding zabezpieczeń element implementuje specyfikację protokołu SOAP Message Security (WSS) protokołu SOAP Message Security 1.0 dla nazwy użytkownika/hasła i zabezpieczeń opartych na standardzie X.509.<basicHttpBinding> <binding name="Binding1"> <security mode="TransportWithMessageCredential | "Message" .../> </binding> </basicHttpBinding> |
Zabezpieczenia | 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> |
Zabezpieczenia | Profil tokenu tokenu certyfikatu X.509 protokołu WSS SOAP Message Security 1.0 | Profil tokenu tokenu certyfikatu X.509 protokołu WSS SOAP Message Security 1.0<basicHttpBinding> <security mode="Message"> <message clientCredentialType="Certificate"/> </security> </basicHttpBinding> |
wsHttpBinding, ws2007HttpBinding i wsDualHttpBinding
Kategoria | Protokół | Specyfikacja i użycie |
---|---|---|
Obsługa komunikatów | SOAP 1.2 | Podręcznik Struktura obsługi komunikatów Adjuncts (w tym powiązanie HTTP) |
Obsługa komunikatów | Adresowanie WS 2005/08 | Usługi sieci Web adresowania 1.0 — podstawowe Usługi sieci Web adresowania 1.0 — SOAP ws2007HttpBinding , wsHttpBinding i wsDualHttpBinding zaimplementować zalecenie WS-Addressing (W3C) World Wide Web Consortium (W3C) w celu włączenia asynchronicznych komunikatów, korelacji komunikatów i mechanizmów adresowania neutralnego dla transportu.WCF nie obsługuje szyfrowania nagłówków adresowania WS, chociaż jest to dozwolone przez specyfikacje WS-*. |
Obsługa komunikatów | Adresowanie WS 1.0 — metadane | Obsługa metadanych adresowania WS-1.0 dla tego protokołu jest włączona przez ustawienie wersji zasad w zachowaniu ServiceMetadata — z ustawieniem policyversion ustawionym na 1.2 (wartość domyślna), opis wsdl jest zgodny z WS-Addressing wsdl, z policyversion ustawionym na 1.5, opis wsdl jest zgodny z metadanymi adresowania WS. WCF nie obsługuje szyfrowania nagłówków adresowania WS, chociaż jest to dozwolone przez specyfikacje WS-*. |
Zabezpieczenia | Zabezpieczenia komunikatów protokołu SOAP WSS 1.0 | Zabezpieczenia komunikatów protokołu SOAP WSS 1.0 Użyj polecenia , gdy securityMode atrybut jest ustawiony na wartość "wsSecurityOverHttp" (wartość domyślna) i parametry są konfigurowane przy użyciu elementu podrzędnego wsSecurity .<wsHttpBinding> <binding name="myBinding"> <security mode="Message" .../> </binding> </wsHttpBinding> |
Zabezpieczenia | WSS SOAP Message Security UsernameToken Profile 1.1 | WSS SOAP Message Security UsernameToken Profile 1.0 Użyj, gdy wsSecurity atrybut elementu authenticationMode jest ustawiony na "Nazwa użytkownika".<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="UserName negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding> |
Zabezpieczenia | Profil tokenu tokenu certyfikatu X.509 protokołu WSS SOAP Message Security 1.1 | Profil tokenu tokenu certyfikatu X.509 protokołu WSS SOAP Message Security 1.1 Służy do ochrony komunikatów, gdy wsSecurity atrybut elementu authenticationMode jest ustawiony na "Username", "Certificate" lub "None". Ponadto należy użyć go do uwierzytelniania klienta, gdy wsSecurity atrybut elementu authenticationMode jest ustawiony na "Certyfikat".<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Certificate" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding> |
Zabezpieczenia | Profil tokenu Protokołu Kerberos protokołu Kerberos protokołu Kerberos w programie WSS SOAP | Profil tokenu Protokołu Kerberos protokołu Kerberos protokołu Kerberos w programie WSS SOAP Służy do uwierzytelniania i ochrony komunikatów, gdy wsSecurity atrybut elementu authenticationMode jest ustawiony na "Windows".<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Windows" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding> |
Zabezpieczenia | WS-SecureConversation | WS-SecureConversation Użyj polecenia , aby zapewnić bezpieczną sesję, gdy security/@mode atrybut jest ustawiony na wartość "Message", a message/@establishSecurityContext atrybut jest ustawiony na wartość "true" (wartość domyślna). |
Zabezpieczenia | WS-Trust | WS-Trust Używane przez usługę WS-SecureConversation (patrz powyżej). |
Niezawodna obsługa komunikatów | WS-ReliableMessaging | WS-ReliableMessaging Użyj polecenia , gdy powiązanie jest skonfigurowane do używania elementu reliableSession .<wsHttpBinding> <binding name="myBinding"> <reliableSession/> </binding> </wsHttpBinding> |
Transakcje | WS-AtomicTransaction | WS-AtomicTransaction Służy do komunikacji między menedżerami transakcji. Klienci i usługi WCF zawsze używają lokalnych menedżerów transakcji. |
Transakcje | Koordynacja WS | Koordynacja WS Użyj polecenia , aby przepływać kontekst transakcji, gdy flowTransactions atrybut jest ustawiony na wartość "Dozwolone" lub "Wymagane".<wsHttpBinding> <binding transactionFlow="true"/> </wsHttpBinding> |
wsFederationHttpBinding i ws2007FederationHttpBinding
Elementy <wsFederationHttpBinding> i <ws2007FederationHttpBinding> są wprowadzane w celu zapewnienia obsługi scenariuszy federacyjnych, w których inna firma wystawia token używany do uwierzytelniania klienta. Oprócz protokołów używanych przez wsHttpBinding
program wykorzystuje wsFederationHttpBinding
:
WS-Trust
do wystawiania tokenu.WSS Security Assertions Markup Language (SAML) Token Profile 1.0 i 1.1 dla najczęściej wystawianego formatu tokenu.
Przykład:
<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>
Aby uzyskać więcej informacji, zobacz Federacja.
Powiązania metadanych dostarczone przez system
W poniższych tabelach opisano protokoły obsługiwane przez powiązania metadanych obsługiwanych przez system udostępniane przez klasę System.ServiceModel.Description.MetadataExchangeBindings .
mexHttpBinding
Powiązanie <mexHttpBinding> obsługuje następujące protokoły. Aby uzyskać więcej informacji na temat korzystania z tego powiązania, zobacz Publikowanie metadanych.
Kategoria | Protokół | Specyfikacja i użycie |
---|---|---|
Transport | HTTP 1.1 | HTTP 1.1 |
Obsługa komunikatów | SOAP 1.2 | Podręcznik Struktura obsługi komunikatów Adjuncts (w tym powiązanie HTTP) |
Obsługa komunikatów | Adresowanie WS 2005/08 | Usługi sieci Web adresowania 1.0 — podstawowe Usługi sieci Web adresowania 1.0 — SOAP |
Metadane | WS-MetadataExchange | WS-MetadataExchange Program WCF implementuje program WS-MetadataExchange w celu pobrania schematu XML, języka WSDL i zasad WS-Policy. |
mexHttpsBinding
<Aplikacja mexHttpsBinding> obsługuje następujące protokoły. Aby uzyskać więcej informacji na temat korzystania z tego powiązania, zobacz Publikowanie metadanych.
Kategoria | Protokół | Specyfikacja i użycie |
---|---|---|
Transport | HTTP 1.1 | HTTP 1.1 Zabezpieczenia transportu są włączone. |
Obsługa komunikatów | SOAP 1.2 | Podręcznik Struktura obsługi komunikatów Adjuncts (w tym powiązanie HTTP) |
Obsługa komunikatów | Adresowanie WS 2005/08 | Usługi sieci Web adresowania 1.0 — podstawowe Usługi sieci Web adresowania 1.0 — SOAP |
Metadane | WS-MetadataExchange | WS-MetadataExchange Program WCF implementuje program WS-MetadataExchange w celu pobrania schematu XML, języka WSDL i zasad WS-Policy. |