2017-02-01 5 views
1

Как сделать содержимое xml совместимым с PostAsync Работа для контента и где вы указываете headers для Content-Type = application/xml.Почтовый вызов для содержимого xml с использованием HttpClient

Ошибка -> Невозможно преобразовать строку в HttpContent

public async Task GetCustomersAsync(string firstname, string lastname) 
{ 
     using (var client = new HttpClient()) 
     { 
      var content = "<soapenv:Envelope xmlns:xsi..."; 

      var response = await client.PostAsync("https://domain.com/scripts/WebObj.exe/Client.woa/2/ws/ABC", content); 

      var responseString = await response.Content.ReadAsStringAsync(); 
     } 
    } 

ответ

1

Я думаю, что вы хотите сделать, это следующее:

public async Task<string> GetCustomersAsync(string firstname, string lastname) 
{ 
    using (var client = new HttpClient()) 
    { 
     var content = new StringContent("<soapenv:Envelope xmlns:xsi...", Encoding.UTF8, "application/xml");; 

     var response = await client.PostAsync("https://example.com/scripts/WebObj.exe/Client.woa/2/ws/ABC", content); 

     return await response.Content.ReadAsStringAsync(); 
    } 
} 

ИЛИ

using (var request = new HttpRequestMessage { RequesteUri = new Uri("POST_URL"), Method = HttpMethod.Post }) 
{ 
    var content = new StringContent("<soapenv:Envelope xmlns:xsi..."); 
    request.Content.Headers.ContentType = new MediaTypeHeaderValue("application/xml"); 
} 

Вы можете refer here к дополнительной информации a bout другие типы контента, которые могут быть созданы и переданы.

+0

спасибо, как и вы указывали заголовки, например 'content-type' в этом случае – user2727195

+0

@ user2727195 Я обновил свой ответ. Этот заголовок специально предназначен для содержимого, в первом примере последний параметр для конструктора задается как заголовок Content-Type. Если вы ищете разные заголовки, то это делается на самом запросе объекта request.Headers.Add («HEADER_KEY», «HEADER_VALUE») – peinearydevelopment

+0

Я вижу, что httpclient читает содержимое, кодировку и ее контент-тип и устанавливает соответственно, заголовки? \ – user2727195

Смежные вопросы