Я считаю, что MessageHeader предназначен для заголовков SOAP и служб SOAP в соответствии с первой строкой документации MSDN для класса MessageHeader:
http://msdn.microsoft.com/en-us/library/system.servicemodel.channels.messageheader.aspx
Поскольку вы используете webHttpBinding, я полагаю, вы создаете службу REST, а не службу SOAP. В этом случае вы должны использовать класс System.Net.WebClient:
http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx
или аналогичный и установите заголовок, используя его свойство Headers. Чтобы было ясно, это установит заголовки HTTP, а не заголовки сообщений SOAP, так как вы не используете SOAP.
Если вы действительно хотите установить имя пользователя (и я предполагаю пароль), как в вашем примере кода, тогда вы можете использовать свойство Credentials WebClient, а не устанавливать заголовок авторизации, используя свойство Headers.