I\'m starting this Wiki to collect best practices about creating interoperable web services (not clients) in WCF. Please share your experience if you know any feature which
General interoperability:
Edit:
Fairly simple:
avoid any .NET specifics like Exceptions (turn them into SOAP faults)
don't use any binding that start with net
like netTcp, netNamedPipes, netMsmq and so forth - use wsHttpBinding
for secure WS-* services, and basicHttpBinding
for maximum reach / compatibility with even the weirdest client platforms
don't use the NetDataContractSerializer
I recommend WCF REST exposing multiple serialization formats, definitely xml for starters.