Web services protocols interoperability guide

Windows Communication Foundation (WCF) implements a number of Web services protocols. Many of these protocols include a number of options and extensibility points left to the discretion of the implementer. This article provides a list of Web services protocols WCF implements. Other articles within this section provide implementation details for each protocol supported.

Web services protocols implemented by WCF

WCF provides support for Web services (WS) infrastructure protocols through channels and Web services application protocols through the contracts feature. Interoperability for application protocols is accomplished through XML Schema description language 1.0 (XSD) and Web Services Description Language (WSDL) 1.1.

Infrastructure protocols interoperability is provided by the WS-* specifications. WCF channels provide support for a number of WS-* infrastructure protocols. WCF channels are configured using binding elements. The following tables contain the full list of the WS-* infrastructure protocols implemented by various WCF binding elements.

HttpTransportBindingElement supports the specifications in the following table.

Specification/document Link
HTTP 1.1 RFC 2616
SOAP 1.1 HTTP Binding Simple Object Access Protocol (SOAP) 1.1, Section 7
SOAP 1.2 HTTP Binding SOAP Version 1.2 Part 2: Adjuncts (Second Edition), Section 7

TextMessageEncodingBindingElement and MtomMessageEncodingBindingElement support the specifications in the following table.

Specification/Document Link
XML Extensible Markup Language (XML) 1.0 (Fourth Edition)
SOAP 1.1 Simple Object Access Protocol (SOAP) 1.1
SOAP 1.2 Core SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)
WS-Addressing 2004/08 Web Services Addressing (WS-Addressing)
W3C Web Services Addressing 1.0 - Core Web Services Addressing 1.0 - Core
W3C Web Services Addressing 1.0 - SOAP Binding Web Services Addressing 1.0 - SOAP Binding
W3C Web Services Addressing 1.0 - WSDL Binding* Web Services Addressing 1.0 - WSDL Binding
W3C Web Services Addressing 1.0 Metadata Web Services Addressing 1.0 - Metadata
WSDL SOAP1.1 Binding Web Services Description Language (WSDL) 1.1
WSDL SOAP1.2 Binding WSDL 1.1 Binding Extension for SOAP 1.2

MtomMessageEncodingBindingElement supports the specifications in the following table.

Specification/document Link
XOP XML-binary Optimized Packaging
MTOM + SOAP1.2 Binding SOAP Message Transmission Optimization Mechanism
MTOM SOAP 1.1 Binding SOAP 1.1 Binding for MTOM 1.0
MTOM WS-PolicyAssertions MTOM Serialization Policy Assertion (WS-MTOMPolicy)

SecurityBindingElement supports the specifications in the following table.

Specification/document Link
WSS: SOAP Message Security 1.0 Web Services Security: SOAP Message Security 1.0
WSS: Username Token Profile 1.0 Web Services Security UsernameToken Profile 1.0

require Password/@Type=PasswordText (default)
WSS: X.509 Token Profile 1.0 Web Services Security X.509 Certificate Token Profile
WSS: SAML 1.1 Token Profile 1.0 Web Services Security: SAML Token Profile
WSS: SOAP Message Security 1.1 Web Services Security: SOAP Message Security 1.1
WSS Username Token Profile 1.1 Web Services Security UsernameToken Profile 1.1

do not implement password-based key derivation;

require Password/@Type=PasswordText (default)
WSS: X509 Token Profile 1.1 Web Services Security X.509 Certificate Token Profile 1.1
WSS: Kerberos Token Profile 1.1 Web Services Security Kerberos Token Profile 1.1
WSS: SAML 1.1 Token Profile 1.1 Web Services Security SAML Token Profile 1.1
WS-Secure Conversation Web Services Secure Conversation Language
WS-Trust 1.4 Web Services Trust Language
WS-SecurityPolicy 2005/07 Web Services Secure Conversation Language

As amended by errata submitted to OASIS WS-SX Technical Committee.

ws-sx message
WS-ReliableMessaging 1.1 Reliable Messaging Protocol version 1.1

TransactionFlowBindingElement supports the specifications in the following table.

Specification/Document Link
WS-Coordination Web Services Coordination
WS-AtomicTransaction Web Services Atomic Transaction

The MetadataExporter, MetadataImporter, WsdlExporter, WsdlImporter, and MetadataResolver classes provide support for the following metadata specifications:

In addition, the following Interoperability Profiles are implemented across WCF:

See also