No se envía el encabezado de autenticación HttpClient
Estoy tratando de usar unHttpClient
para un servicio de terceros que requiere autenticación HTTP básica. Estoy usando elAuthenticationHeaderValue
. Esto es lo que he encontrado hasta ahora:
HttpRequestMessage<RequestType> request =
new HttpRequestMessage<RequestType>(
new RequestType("third-party-vendor-action"),
MediaTypeHeaderValue.Parse("application/xml"));
request.Headers.Authorization = new AuthenticationHeaderValue(
"Basic", Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(
string.Format("{0}:{1}", "username", "password"))));
var task = client.PostAsync(Uri, request.Content);
ResponseType response = task.ContinueWith(
t =>
{
return t.Result.Content.ReadAsAsync<ResponseType>();
}).Unwrap().Result;
Parece que la acción POST funciona bien, pero no recupero los datos que espero. A través de algunas pruebas y errores, y finalmente usando Fiddler para detectar el tráfico sin procesar, descubrí que no se estaba enviando el encabezado de autorización.
He vistoesta, pero creo que tengo el esquema de autenticación especificado como parte de laAuthenticationHeaderValue
constructor.
¿Hay algo que me haya perdido?