ServicesResourcesConferencesOur TeamWeblogsAboutContact
   

Subscriptions

Post Categories

Affiliations

Archives

Beyond the Obvious: New Features and Fixes for WCF in .NET 3.5 - Expanded WS-* specs support


OK, here is the next one in the list of new features in WCF "v2".
There are two new out-of-the-box bindings covering updated/new  WS-* specs:

  • WS2007HttpBinding
  • WS2007FederationHttpBinding

and the respective binding elements:

  • WS2007HttpBindingElement
  • WS2007HttpBindingCollectionElement
  • WS2007FederationHttpBindingElement
  • WS2007FederationHttpBindingCollectionElement

And these are the specs supported:

The WS-Policy version is controlled by a separate knob on the MEX behavior.
For the sake of completeness, the full list of protocols for
ws2007HttpBinding is listed below. Support in wsFederationHttpBinding is exactly the same but it uses WSS SAML Token Profile 1.1 for the IssuedToken.

Category

Protocol

Specification and Usage

Messaging

SOAP1.2

Primer: http://www.w3.org/TR/soap12-part0/

Messaging infrastructure: http://www.w3.org/TR/soap12-part1/

Adjuncts (including http binding): http://www.w3.org/TR/soap12-part2/

Messaging

WS-Addressing 2005/08

http://www.w3.org/TR/ws-addr-core/

http://www.w3.org/TR/ws-addr-soap/

The WS2007HttpBinding implements the W3C WS-Addressing Recommendation to enable asynchronous messaging, message correlation, and transport-neutral addressing mechanisms.

Security

WSS SOAP Message Security 1.1

http://www.oasis-open.org/committees/download.php/16790/wss-v1.1-spec-os-SOAPMessageSecurity.pdf

Used when the securityMode attribute is set to "WSSecurityOverHttp" (default), and parameters are configured using a wsSecurity child element.

<wsHttpBinding> <binding name="myBinding"> <security mode="Message" .../> </binding> </wsHttpBinding>

Security

WSS SOAP Message Security UsernameToken Profile 1.1

http://www.oasis-open.org/committees/download.php/16782/wss-v1.1-spec-os-UsernameTokenProfile.pdf

Used when the wsSecurity element's authenticationMode attribute is set to "Username".

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="UserName negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>

Security

WSS SOAP Message Security X509 Token Profile 1.1

http://www.oasis-open.org/committees/download.php/16785/wss-v1.1-spec-os-x509TokenProfile.pdf

Used for message protection when the wsSecurity element’s authenticationMode attribute is set to "Username", "Certificate", or "None". Additionally, this is used for client authentication when the wsSecurity element’s authenticationMode attribute is set to "Certificate".

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Certificate" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>

Security

WSS SOAP Message Security Kerberos Token Profile 1.1

http://www.oasis-open.org/committees/download.php/16788/wss-v1.1-spec-os-KerberosTokenProfile.pdf

Used for authentication and message protection when the wsSecurity element’s authenticationMode attribute is set to "Windows".

<wsHttpBinding> <binding name="MyBinding"> <security mode="Message> <message clientCredentialType="Windows" negotiateServiceCredential="false" establishSecurityContext="false"/> </security> </binding> </wsHttpBinding>

Security

WS Secure Conversation v1.3

http://docs.oasis-open.org/ws-sx/ws-secureconversation/200512/ws-secureconversation-1.3-os.html

Used to provide secure session when the security/@mode attribute is set to "Message" and message/@establishSecurityContext is set to "true" (default).

Security

WS Trust v1.3

http://docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3-os.html

Used by WS-SecureConversation (see above).

Security

WS-SecurityPolicy v1.2

http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/ws-securitypolicy-1.2-spec-os.html

Reliable Messaging

WS-Reliable Messaging v1.1

http://docs.oasis-open.org/ws-rx/wsrm/200702

Used when the binding is configured to use reliableSession.

<wsHttpBinding> <binding name="myBinding"> <reliableSession/> </binding> </wsHttpBinding>

Transactions

Web Services Atomic Transaction (WS-AtomicTransaction) Version 1.1

http://docs.oasis-open.org/ws-tx/wstx-wsat-1.1-spec-os/wstx-wsat-1.1-spec-os.html

Used for communication between transaction managers. WCF clients and services themselves always use local transaction managers.

Transactions

Web Services Coordination (WS-Coordination) Version 1.1

http://docs.oasis-open.org/ws-tx/wstx-wscoor-1.1-spec-os/wstx-wscoor-1.1-spec-os.html

Used to flow the transaction context when the flowTransactions attribute is set to "Allowed" or "Required".

<wsHttpBinding> <binding transactionFlow="true"/> </wsHttpBinding>

The way to think about it should be that ws2007HttpBinding is all-standard protocols and wsHttpBinding was about all-submitted protocols.


posted on Wednesday, October 31, 2007 7:33 PM

# Що нового в WCF v2? @ Thursday, November 01, 2007 4:50 PM

Christian Weyer зібрав інформацію про те що буде в WCF v2. Найбільш значними додатками, на мій погляд
Mike Chaliy's Blog

# WCF v2 Features in .NET Framework 3.5 @ Friday, November 02, 2007 12:20 PM

Christian Weyer has published some entries about the new WCF features of .NET 3.5. In his first post he give a rough overview of the popular and not so popular new features. One of these features is the new Web...
Hartmut's Box


Powered by Community Server, by Telligent Systems