Adding Authorization Header to Web Reference
The above response was on the right track, but it just had to be in a different location.
I added this to my web reference proxy class that .Net generated:
protected override WebRequest GetWebRequest(Uri uri)
{
HttpWebRequest req = (HttpWebRequest)base.GetWebRequest(uri);
req.Headers.Add(HttpRequestHeader.Authorization,
"Basic " + "12345678901234567890");
return req;
}
A Web Reference proxy class extends System.Web.Services.Protocols.SoapHttpClientProtocol. This class contains a call to System.Net.WebRequest.GetWebRequest(Uri uri). A WebRequest allow us to set specific headers on the request when the proxy class' methods are invoked.
Thanks for your help!
There are a couple of changes to make.
Firstly, there is a handy constant HttpRequestHeader.Authorization
.
Secondly, are they expecting the header to be Base64 Encoded - this is normally required for basic authentication.
WebClient.Headers.Add(HttpRequestHeader.Authorization,
"Basic " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes("12345678901234567890")));