I have a recurring problem when passing Serialized objects between non-.NET Clients, and .NET WCF Services.
When WCF Deserializes objects, it is strictly dependant
For me, the DataContractSerializer has been my savior with .NET Framework 4.0
When referencing an old asmx web service, we had null values for all the fields that were "after" inserted new fields in the server wsdl. So whenever there were new fields added on server side, that was nullifying several values on client side. This was forcing us into updating our reference in our code to always stick to the server wsdl.
I found two solutions to make our client tolerant to new fields in the xml stream: