Use the MessageHeaderArrayAttribute attribute to turn off the standard array wrapper element when you want to emit an unbounded number of identical elements either inside the <soap:Header> directly or inside the first and only child of <soap:Header> without the default wrapper element for array types.
MessageHeaderArrayAttribute can be applied only to members of an array type. If specified, the Name and Namespace are used as the name and namespace of the element of each array item. If not specified, the array item elements are named using the same convention used for naming non-repeating body parts. For more information, see Name and Namespace.
For information about controlling the serialization of the contents of a SOAP body without modifying the default SOAP envelope itself, see System.Runtime.Serialization..::.DataContractAttribute, Specifying Data Transfer in Service Contracts, and Data Contracts Overview.
For more information about creating message contracts, see Using Message Contracts.