I created a WCF service and to the default service I added another operation contract on the main DataContract:
[OperationContract]
void DoSomething(UserData
OK, having gone through the whole thing (thanks to all for the tips) the solution was this:
IsReference attribute in DataContract was not needed at allIsOneWay attribute in DataContract was not needed at all even when OperationContract was returning void.KnownType was also not needed provided all the subtypes in the hierarchy were mine, in other words defined by me rather than .NET and marked with DataContract or DataMember as appropriateOperatingSystem and building a wrapper DataContract that extracted the necesary information from OperatingSystem got around the issue.Now there is no error in the WCF Test Client