Durch vom System bereitgestellte Interoperabilitätsbindungen unterstützte Webdienstprotokolle
Windows Communication Foundation (WCF) ist für die Zusammenarbeit mit Webdiensten konzipiert, die eine Reihe von Spezifikationen unterstützen, die als Webdienstspezifikationen bezeichnet werden. Um die Dienstkonfiguration für die empfohlene Vorgehensweise für Interoperabilität zu vereinfachen, führt drei interoperable, vom System bereitgestellte Bindungen ein: System.ServiceModel.BasicHttpBinding, System.ServiceModel.WSHttpBinding und System.ServiceModel.WSDualHttpBinding. Für die Interoperabilität mit den Standards der Organization for the Advancement of Structured Information Standards (OASIS) enthält WCF eine interoperable, vom System bereitgestellte Bindung: System.ServiceModel.WS2007HttpBinding. Für die Metadatenveröffentlichung umfasst WCF zwei interoperable systembezogene Bindungen: <mexHttpBinding>und<mexHttpsBinding>. Dieses Thema listet Spezifikationen auf, die von interoperablen, vom System bereitgestellten Bindungen unterstützt werden.
Von basicHttpBinding-, wsHttpBinding-, ws2007HttpBinding- und wsDualHttpBinding-Bindungen unterstützte Webdienstprotokolle
Alle Bindungen
Die <basicHttpBinding->,<wsHttpBinding >- und<ws2007HttpBinding->Bindungen unterstützen die folgenden Protokolle.
Hinweis
Weitere Informationen über Bindungen, die zur Veröffentlichung von Metadaten verwendet werden, finden Sie im Abschnitt „Vom System bereitgestellte Metadatenbindungen“ später in diesem Thema.
Category | Protokoll | Spezifikation und Verwendung |
---|---|---|
Transport | HTTP 1.1 | HTTP 1.1BasicHttpBinding , WSHttpBinding und WS2007HttpBinding nutzen die HTTP-HTTPS-Transporte. |
Nachrichten | MTOM | MTOMbasicHttpBinding , wsHttpBinding und ws2007HttpBinding unterstützen MTOM (Message Transmission Optimization Mechanism). Standardmäßig nicht verwendet. Um MTOM zu verwenden, legen Sie das messageEncoding -Attribut auf "Mtom" fest.Beispiel: <wsHttpBinding> <binding messageEncoding="Mtom"/> </wsHttpBinding> |
Metadaten | WSDL 1.1 | WSDL 1.1 WCF verwendet die Web Services Description Language (WSDL), um Dienste zu beschreiben. |
Metadaten | WS-Richtlinie | WS-Richtlinie WCF verwendet die WS-Richtlinienspezifikation zusammen mit domänenspezifischen Assertionen zur Beschreibung von Dienstanforderungen und -funktionen. |
Metadaten | WS-Richtlinie 1.5 | WS-Richtlinie 1.5 WCF verwendet die WS-Richtlinienspezifikation zusammen mit domänenspezifischen Assertionen zur Beschreibung von Dienstanforderungen und -funktionen. |
Metadaten | WS-PolicyAttachment | WS-PolicyAttachment WCF implementiert WS-PolicyAttachment, um Richtlinienausdrücke bei verschiedenen Bereichen auf Web Services Description Language (WSDL) anzufügen. |
Metadaten | WS-MetadataExchange | WS-MetadataExchange WCF implementiert WS-MetadataExchange zum Abrufen von XML-Schema, WSDL und der WS-Richtlinie. |
basicHttpBinding
Category | Protokoll | Spezifikation und Verwendung |
---|---|---|
Nachrichten | SOAP 1,1 | SOAP 1,1 In Übereinstimmung mit Basic Profile 1.1 implementiert das basicHttpBinding -Element das SOAP 1.1-Nachrichtenprotokoll. |
Sicherheit | WSS SOAP Message Security 1.0 | WSS SOAP Message Security 1.0 In Übereinstimmung mit dem Basic Security Profile implementiert das basicHttpBinding -Element Web Services Security (WSS) SOAP Message Security 1.0 für Benutzername/Kennwort und X.509-basierte Sicherheit.<basicHttpBinding> <binding name="Binding1"> <security mode="TransportWithMessageCredential | "Message" .../> </binding> </basicHttpBinding> |
Sicherheit | 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> |
Sicherheit | 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 und wsDualHttpBinding
Category | Protokoll | Spezifikation und Verwendung |
---|---|---|
Nachrichten | SOAP 1.2 | Einführung Messagingframework Adjuncts (einschließlich HTTP-Bindung) |
Nachrichten | WS-Adressierung 2005/08 | Webdienste-Adressierung 1.0 - Core Web Services Addressing 1.0 - SOAP Die wsHttpBinding , ws2007HttpBinding und wsDualHttpBinding implementieren die WS-Adressierungsempfehlungen des World Wide Web Consortium (W3C), um asynchrones Messaging, Nachrichtenkorrelation und transportneutrale Adressierungsmechanismen zu ermöglichen.WCF unterstützt keine Verschlüsselung von WS-Addressing-Headern, obwohl dies gemäß den WS-*-Spezifikationen zulässig ist. |
Nachrichten | WS-Addressing 1.0 - Metadata | WS-Addressing 1.0 MetadataUnterstützung für dieses Protokoll wird durch Festlegen der Richtlinienversion im ServiceMetadata-Verhalten aktiviert. In der Richtlinienversion 1.2 (Standard) ist die WSDL-Beschreibung mit der WS-Adressierung-WSDL-Spezifikation kompatibel, in der Richtlinienversion 1.5 mit der WS-Adressierung-Metadaten-Spezifikation. WCF unterstützt keine Verschlüsselung von WS-Addressing-Headern, obwohl dies gemäß den WS-*-Spezifikationen zulässig ist. |
Sicherheit | WSS SOAP Message Security 1.0 | WSS SOAP Message Security 1.0 Zu verwenden, wenn das securityMode -Attribut auf "wsSecurityOverHttp" (Standard) festgelegt ist und die Parameter mithilfe des untergeordneten wsSecurity -Elements konfiguriert wurden.<wsHttpBinding> <binding name="myBinding"> <security mode="Message" .../> </binding> </wsHttpBinding> |
Sicherheit | WSS SOAP Message Security UsernameToken Profile 1.1 | WSS SOAP Message Security UsernameToken Profile 1.0 Zu verwenden, wenn das wsSecurity -Attribut des authenticationMode -Elements auf "Username" festgelegt ist.<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="UserName negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding> |
Sicherheit | WSS SOAP Message Security X.509 Certificate Token Profile 1.1 | WSS SOAP Message Security X.509 Certificate Token Profile 1.1 Zu verwenden für Nachrichtenschutz, wenn das wsSecurity -Attribut des authenticationMode -Elements auf "Username", "Certificate" oder "None" festgelegt ist. Auch zu verwenden für die Clientauthentifizierung, wenn das wsSecurity -Attribut des authenticationMode -Elements auf "Certificate" festgelegt ist.<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Certificate" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding> |
Sicherheit | WSS SOAP Message Security Kerberos Token Profile 1.1 | WSS SOAP Message Security Kerberos Token Profile 1.1 Zu verwenden für Authentifizierung und Nachrichtenschutz, wenn das wsSecurity -Attribut des authenticationMode -Elements auf "Windows" festgelegt ist.<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Windows" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding> |
Sicherheit | WS-SecureConversation | WS-SecureConversation Zu verwenden für die Bereitstellung einer sicheren Sitzung, wenn das security/@mode -Attribut auf "Message" und das message/@establishSecurityContext -Attribut auf "true" (Standard) festgelegt sind. |
Sicherheit | WS-Trust | WS-Trust Wird von WS-SecureConversation verwendet (siehe oben). |
Zuverlässiges Messaging | WS-ReliableMessaging | WS-ReliableMessaging Zu verwenden, wenn die Bindung für die Verwendung von reliableSession konfiguriert ist.<wsHttpBinding> <binding name="myBinding"> <reliableSession/> </binding> </wsHttpBinding> |
Transaktionen | WS-AtomicTransaction | WS-AtomicTransaction Wird für die Kommunikation zwischen Transaktions-Managern verwendet. WCF-Clients und -Dienste verwenden immer lokale Transaktions-Manager. |
Transaktionen | WS-Coordination | WS-Coordination Zu verwenden für den Transaktionskontextfluss, wenn das flowTransactions -Attribut auf „Allowed“ oder „Required“ festgelegt ist.<wsHttpBinding> <binding transactionFlow="true"/> </wsHttpBinding> |
wsFederationHttpBinding und ws2007FederationHttpBinding
Die <wsFederationHttpBinding> - und <ws2007FederationHttpBinding>-Elemente werden eingeführt, um Unterstützung für Verbundszenarien bereitzustellen, in denen ein Drittanbieter ein Token ausgibt, das zum Authentifizieren eines Clients verwendet wird. wsHttpBinding
setzt zusätzlich zu den von der wsFederationHttpBinding
verwendeten Protokollen ein:
WS-Trust
für die Tokenausgabe.WSS Security Assertions Markup Language (SAML) Token Profile 1.0 und 1.1 für das am häufigsten herausgegebene Tokenformat.
Beispiel:
<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>
Weitere Informationen finden Sie unter Verbund.
Vom System bereitgestellte Metadatenbindungen
Die folgende Tabelle beschreibt die Protokolle, die von den interoperablen Metadatenbindungen bereitgestellt und von der System.ServiceModel.Description.MetadataExchangeBindings-Klasse verfügbar gemacht werden.
mexHttpBinding
Die <mexHttpBinding>-Bindung unterstützt die folgenden Protokolle. Weitere Informationen zur Verwendung dieser Bindung finden Sie unter Veröffentlichen von Metadaten.
Category | Protokoll | Spezifikation und Verwendung |
---|---|---|
Transport | HTTP 1.1 | HTTP 1.1 |
Nachrichten | SOAP 1.2 | Einführung Messagingframework Adjuncts (einschließlich HTTP-Bindung) |
Nachrichten | WS-Adressierung 2005/08 | Webdienste-Adressierung 1.0 - Core Web Services Addressing 1.0 - SOAP |
Metadaten | WS-MetadataExchange | WS-MetadataExchange WCF implementiert WS-MetadataExchange zum Abrufen von XML-Schema, WSDL und der WS-Richtlinie. |
mexHttpsBinding
<mexHttpsBinding> unterstützt die folgenden Protokolle. Weitere Informationen zur Verwendung dieser Bindung finden Sie unter Veröffentlichen von Metadaten.
Category | Protokoll | Spezifikation und Verwendung |
---|---|---|
Transport | HTTP 1.1 | HTTP 1.1 Transportsicherheit ist aktiviert. |
Nachrichten | SOAP 1.2 | Einführung Messagingframework Adjuncts (einschließlich HTTP-Bindung) |
Nachrichten | WS-Adressierung 2005/08 | Webdienste-Adressierung 1.0 - Core Web Services Addressing 1.0 - SOAP |
Metadaten | WS-MetadataExchange | WS-MetadataExchange WCF implementiert WS-MetadataExchange zum Abrufen von XML-Schema, WSDL und der WS-Richtlinie. |