 <p>I do not know if this would cause this problem, but I would mark my similarly structured MessageContract up as follows:</p> <ol> <li>Using the [MessageHeader] attribute is enough on MessageHeader members.</li> <li>If the contract TestsResults is not a top level contract, I would mark it up as a DataContract with DataMember attributes only.</li> </ol> <p>EDIT: 3. TestResult should also be a DataContract, with all members marked up with DataMember. Your enum must be marked up with the EnumMember attribute.</p> <p>I hope this helps.</p>