views:

1349

answers:

3

On the MSDN we can read :

The WS2007HttpBinding class adds a system-provided binding similar to WSHttpBinding but uses the Organization for the Advancement of Structured Information Standards (OASIS) standard versions of the ReliableSession, Security, and TransactionFlow protocols. No changes to the object model or default settings are required when using this binding.

But I don't find any documentation which can explain me WHY I would like to move wsHttpBinding to ws2007HttpBinding, it seems to me that the standard are the same.

Can someone can give me a good explanation ?

+4  A: 

The bindings support different protocols. This page on MSDN actually has a nice matrix that explains what protocols are supported by which binding in WCF. So if you need interop with services/clients that implement OASIS protocols, use the ws2007httpbinding binding, otherwise, there's no reason to not use the wshttpbinding.

If you want to get into details of the different protocols, check out their websites: WC3 and OASIS. I'm sure there's tons of resources that highlight the differences in those protocols.

Different large enterprise and governments needs to use web services and have different requirements. Thus, different standards make sense.

siz
+1  A: 

Using the lastest standard sounds like a good practice, but just keep in mind that WS2007HttpBinding is only supported by clients that are running at least .NET runtime versions 3.5 SP1 or 3.0 SP1.

foson
+1  A: 

ws2007HttpBinding defined by OASIS is a newer version than wsHttpBinding.

It added ReliableSession, Security, and TransactionFlow protocols on top of Transactions, Reliable messaging, and WS-Addressing protocols of wsHttpBinding.

It could be easier to start with simple binding, and if required in the future, you can always expose the existing services in a newer binding coexisting with the older version.

codemeit
RealiableSession, Security, and TransactionFlow was already handled by wsHttpBinding
Nicolas Dorier