A few questions came up among some of the SOA team members on a recent client engagement - asking about some of the features in Microsoft's Windows Communication Foundation (WCF). For example:
- how to expose an inherited class object in the resulting WSDL contract?
- how to alter the .NET tool's default behavior of making message contract fields optional or required?
- how to alter the order that fields are presented in the WSDL message contract versus the order they are defined in the class?
- how to include/exclude selected class member variables as fields in the message contract?
- how to define the soap faults in the C# class that can be thrown?
The following links are some of the more interesting resources I came across in my research:
Eric Nelson's blog
Understanding Windows Communication Foundation and Workflow Foundation
endpoint.tv - "Dublin" what is it and why should I care?
A Quick look at the Windows Communication Foundation
Demystifying Windows Communication Foundation
WCF Services—Data Contracts
Exposing objects that are inherited
Data Contract Versioning
Best Practices: Data Contract Versioning
Design Patterns for .Net (Rob Daigneau), Patterns for Flexible WCF Services
Solving the "disappearing data" issue when using Add Web Reference or Wsdl.exe with WCF services
Building a raw xml request for a RESTful WCF Service operation which accepts a Generic DataContract type
The Tale of WCF, MessageContract, and JSON
How to: Improve the Startup Time of WCF Client Applications using the XmlSerializer
How to create a WCF client for asmx web service without using web proxy
How to: Expose WCF service also as ASMX web-service
Windows Communication Foundation (Indigo) Hello World Tutorial
Windows Communication Foundation Tutorial - Part 2 (DataContract vs Serializable)
DataContracts without attributes (POCO support) in .NET 3.5 SP1
WCF serialization with MSMQ
10 Tricks and Tips for WCF