Scenario: Say, we have defined a custom Message contract to use in our Application like so: public enum SendMessageType { Send, Ack, Resend, } [MessageContract(IsWrapped= false )] public class TestMessage { [MessageHeader] public SendMessageType Type;