Описание тега messagecontract
Windows Communication Foundation (WCF) MessageContract Attribute allows complete control over the structure of a SOAP message. This is especially important for interoperability or to specifically control security issues at the level of the message or message part. In these cases, you can create a message contract that enables you to specify the structure of the precise SOAP message required.
To define a message contract for a type (that is, to define the mapping between the type and a SOAP envelope), apply the MessageContractAttribute to the type. Then apply the MessageHeaderAttribute to those members of the type you want to make into SOAP headers, and apply the MessageBodyMemberAttribute to those members you want to make into parts of the SOAP body of the message.
In the SOAP representation of a message contract, each header and body part maps to an XML element that has a name and a namespace. By default, the namespace is the same as the namespace of the service contract that the message is participating in, and the name is determined by the member name to which the MessageHeaderAttribute or the MessageBodyMemberAttribute attributes are applied.
http://msdn.microsoft.com/en-us/library/ms730255%28v=vs.110%29.aspx