Web Services Protocols Supported by System-Provided Interoperability Bindings
Windows Communication Foundation (WCF) is built to interoperate with Web services that support a set of specifications known as Web services specifications. To simplify service configuration for interoperability best practices, WCF introduces three interoperable system-provided bindings: System.ServiceModel.BasicHttpBinding, System.ServiceModel.WSHttpBinding, and System.ServiceModel.WSDualHttpBinding. For interoperability with Organization for the Advancement of Structured Information Standards (OASIS) standards, WCF includes one interoperable system-provided binding: System.ServiceModel.WS2007HttpBinding. For metadata publication, WCF includes two interoperable system-provided bindings: <mexHttpBinding> and <mexHttpsBinding>. This topic lists specifications that system-provided interoperable bindings support.
Web Services Protocols Supported by basicHttpBinding, wsHttpBinding, ws2007HttpBinding, and wsDualHttpBinding Bindings
All Bindings
The basicHttpBinding, wsHttpBinding, and ws2007HttpBinding bindings support the following protocols.
Note
For information about bindings used to publish metadata, see the "System-Provided Metadata Bindings" section later in this topic.
Category | Protocol | Specification and Usage |
---|---|---|
Transport |
HTTP 1.1 |
BasicHttpBinding, WSHttpBinding, and WS2007HttpBinding use the HTTP and HTTPS transports. |
Messaging |
MTOM |
basicHttpBinding, wsHttpBinding, and ws2007HttpBinding support Message Transmission Optimization Mechanism (MTOM). Not used by default. To use MTOM, set the Example:
|
Metadata |
WSDL 1.1 |
WCF uses Web Services Description Language (WSDL) to describe services. |
Metadata |
WS-Policy |
WCF uses the WS-Policy specification together with domain-specific assertions to describe service requirements and capabilities. |
Metadata |
WS-Policy 1.5 |
WCF uses the WS-Policy specification together with domain-specific assertions to describe service requirements and capabilities. |
Metadata |
WS-PolicyAttachment |
WCF implements WS-PolicyAttachment to attach policy expressions at various scopes in Web Services Description Language (WSDL). |
Metadata |
WS-MetadataExchange |
WCF implements WS-MetadataExchange to retrieve XML Schema, WSDL, and WS-Policy. |
basicHttpBinding
Category | Protocol | Specification and Usage |
---|---|---|
Messaging |
SOAP 1.1 |
In accordance with Basic Profile 1.1, the basicHttpBinding element implements the SOAP 1.1 message protocol. |
Security |
WSS SOAP Message Security 1.0 |
In accordance with the Basic Security Profile, the basicHttpBinding element implements the Web Services Security (WSS) SOAP Message Security 1.0 specification for user name/password and X.509-based security.
|
Security |
WSS SOAP Message Security UsernameToken Profile 1.0 |
WSS SOAP Message Security UsernameToken Profile 1.0
|
Security |
WSS SOAP Message Security X.509 Certificate Token Profile 1.0 |
WSS SOAP Message Security X.509 Certificate Token Profile 1.0
|
wsHttpBinding, ws2007HttpBinding, and wsDualHttpBinding
Category | Protocol | Specification and Usage |
---|---|---|
Messaging |
SOAP 1.2 |
|
Messaging |
WS-Addressing 2005/08 |
Web Services Addressing 1.0 - Core Web Services Addressing 1.0 - SOAP The wsHttpBinding, ws2007HttpBinding, and wsDualHttpBinding implement the World Wide Web Consortium (W3C) WS-Addressing recommendation to enable asynchronous messaging, message correlation, and transport-neutral addressing mechanisms. |
Security |
WSS SOAP Message Security 1.0 |
Use when the securityMode attribute is set to "wsSecurityOverHttp" (default) and parameters are configured using a wsSecurity child element.
|
Security |
WSS SOAP Message Security UsernameToken Profile 1.1 |
WSS SOAP Message Security UsernameToken Profile 1.0 Use when the wsSecurity element's authenticationMode attribute is set to "Username".
|
Security |
WSS SOAP Message Security X.509 Certificate Token Profile 1.1 |
WSS SOAP Message Security X.509 Certificate Token Profile 1.1 Use for message protection when the wsSecurity element’s authenticationMode attribute is set to "Username", "Certificate", or "None". Additionally, use this for client authentication when the wsSecurity element’s authenticationMode attribute is set to "Certificate".
|
Security |
WSS SOAP Message Security Kerberos Token Profile 1.1 |
WSS SOAP Message Security Kerberos Token Profile 1.1 Use for authentication and message protection when the wsSecurity element’s authenticationMode attribute is set to "Windows".
|
Security |
WS-SecureConversation |
Use to provide a secure session when the security/@mode attribute is set to "Message" and the message/@establishSecurityContext attribute is set to "true" (default). |
Security |
WS-Trust |
Used by WS-SecureConversation (see above). |
Reliable Messaging |
WS-ReliableMessaging |
Use when the binding is configured to use reliableSession.
|
Transactions |
WS-AtomicTransaction |
Use for communication between transaction managers. WCF clients and services always use local transaction managers. |
Transactions |
WS-Coordination |
Use to flow the transaction context when the flowTransactions attribute is set to "Allowed" or "Required".
|
wsFederationHttpBinding and ws2007FederationHttpBinding
The wsFederationHttpBinding and ws2007FederationHttpBinding elements are introduced to provide support for federated scenarios, where a third party issues a token used to authenticate a client. In addition to the protocols used by wsHttpBinding, wsFederationHttpBinding leverages:
WS-Trust for token issuance.
WSS Security Assertions Markup Language (SAML) Token Profile 1.0 and 1.1 for the most commonly issued token format.
Example:
<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>
For more information, see Federation .
System-Provided Metadata Bindings
The following tables describe the protocols supported by the system-provided interoperable metadata bindings exposed by the System.ServiceModel.Description.MetadataExchangeBindings class.
mexHttpBinding
The <mexHttpBinding> binding supports the following protocols. For more information about using this binding, see Publishing Metadata.
Category | Protocol | Specification and Usage |
---|---|---|
Transport |
HTTP 1.1 |
|
Messaging |
SOAP 1.2 |
|
Messaging |
WS-Addressing 2005/08 |
|
Metadata |
WS-MetadataExchange |
WCF implements WS-MetadataExchange to retrieve XML Schema, WSDL, and WS-Policy. |
mexHttpsBinding
<mexHttpsBinding> supports the following protocols. For more information about using this binding, see Publishing Metadata.
Category | Protocol | Specification and Usage |
---|---|---|
Transport |
HTTP 1.1 |
Note:
Transport security is enabled.
|
Messaging |
SOAP 1.2 |
|
Messaging |
WS-Addressing 2005/08 |
|
Metadata |
WS-MetadataExchange |
WCF implements WS-MetadataExchange to retrieve XML Schema, WSDL, and WS-Policy. |
See Also
Concepts
Other Resources
basicHttpBinding Element
wsHttpBinding Element
wsHttpDualHttpBinding Element
<mexHttpsBinding>
<mexHttpBinding>