Different WCF Bindings, their differences and compatibility with other platforms

.net, c#, java, php, wcf

Solution

Choosing the right WCF binding

- BasicHttpBinding: Basic web service communication. Exposes WCF services as legacy ASMX web services. Used for interoperability. No security by default.

- WSHttpBinding: Web services with WS-* support. Supports transactions and reliable messaging.

- WSDualHttpBinding: Web services with duplex contract and transaction support.

- WSFederationHttpBinding: Web services with federated security. Supports transactions.

- MsmqIntegrationBinding: Communication directly with MSMQ applications. Supports transactions.

- NetMsmqBinding: Communication between WCF applications by using queuing. Supports transactions.

- NetNamedPipeBinding: Communication between WCF applications on same computer. Supports duplex contracts and transactions.

- NetPeerTcpBinding: Communication between computers across peer-to-peer services. Supports duplex contracts.

- NetTcpBinding: Communication between WCF applications across computers. Supports duplex contracts and transactions.

Problem

I am looking for some good technical details on Topic of WCF bindings, I am interested to know following things. - List of Different WCF Bindings with its special purpose and limitation. - Compatibility/Interoperability with other platform like consuming WCF service in Java, PHP client. Which binding is supported and which is not. - If I want to get/post secure data through service API which binding should I use if client application is in Java or Php ? I have browsed through different material over internet but it is not in detail and somewhat scattered. Waiting for some good responses.

Original source