HttpClient postAsync с телом xml заканчивается ошибкой BadRequest - PullRequest
0 голосов
/ 09 ноября 2018

Я хочу отправить xml-сообщение на сервер, но оно заканчивается неверным запросом.Кажется, это очень просто, но не понимаю, что я делаю miskake?

, пожалуйста, помогите.: (

msgXML является строковым xml

 public static async Task<string> SendMessageAsync(string msgXml)
 {
  using (CancellationTokenSource source = new CancellationTokenSource())
  {
    CancellationToken cancellation = source.Token;
    HttpClient client = HttpClientProvider.GetInstance;
    //client.BaseAddress = new Uri(myUri);
    client.DefaultRequestHeaders.Accept.Add(new 
    MediaTypeWithQualityHeaderValue("application/xml"));
    client.DefaultRequestHeaders.Add("X-HTTP-Dest-Address", destinationAddress);
    client.DefaultRequestHeaders.TryAddWithoutValidation("Content-Type", "application/xml;charset=utf-8");
    var httpContent = new StringContent(msgXml, Encoding.UTF8, "application/xml");

    HttpResponseMessage httpResponse = await client.PostAsync(myUri, httpContent, cancellationToken).ConfigureAwait(false);
    if (!httpResponse.IsSuccessStatusCode)
     {
       throw new Exception("Invalid URI");
     }
  }
}

Мой msgXML:

<MSG>
 <HeaderCommon>
  other elements....
  <payload></payload>
 </HeaderCommon>
</MSG>

Ошибка, яполучение только:

    ReasonPhrase: "Bad Request"
    statusCode: 400

Сервер не защищен (http).

1 Ответ

0 голосов
/ 12 ноября 2018

Прошу прощения, я использовал неправильный URL.

Приведенный выше код работает нормально.

...