In a WCF endpoint, what is the difference between basicHttpBinding and wsHttpBinding? When should each be used?
Ton of material on that out there - just google for "WCF basicHttpBinding wsHttpBinding".
You'll find amongst others:
- WCF : BasicHttpBinding compared to WSHttpBinding at SOAP packet level.
- Difference between BasicHttpBinding and WsHttpBinding and many, many more!
Very basically:
- basicHttp is SOAP 1.1, wsHttp is SOAP 1.2 (they're quite different, esp. when it comes to SOAP faults)
- basic is - very basic. It's compatible with old-style ASMX ASP.NET webservices and just about any other web service stack out there
- basic is very limited in its security settings
- wsHttp is an implementation of a gazillion WS-* standards, and offers much more features: security, reliable messaging, transaction support, duplex communications and a whole host more.
- wsHttp is the much "heavier" and more extensive protocol, less compatible, less nimble
wsHttpBinding
is more secure and reliable than basicHttpBinding
. If great compatibility is not required, wsHttpBinding
is the choice.
Ref: BasicHttpBinding vs WSHttpBinding
BasicHttpBinding
:
- WS-I Basic Profile 1.1 specification (Old ASMX style)
- It supports SOAP 1.1 as a messaging protocol
- Doesn’t support WS-Security, and the entire payload is sent in plain text.
- Offers great level of interoperability.
WSHttpBinding
:
- Allows you to use various WS-* specifications such as WS-Security 1.1, WS-Reliable Messaging etc
- It supports SOAP 1.2 as a messaging protocol
- As its built using WS-* specifications, it does not support wider ranges of client.
精彩评论