Я пытаюсь отправить POST-запрос в веб-сервис, используя c # и SslClient.Соединение TLS, кажется, работает, когда я отправляю запрос GET, сервер отвечает мне кодом состояния 200 и ожидаемым содержимым.
Моя проблема возникает, когда я пытаюсь отправить запрос POST.Сервер всегда возвращает ошибку BadRequest (400).
Я попытался проверить файл журнала на сервере (в папке HTTPERR), но ничто не помогает мне.
2019-02-11 14:41:50 IPClient PortClient IPServer PortServer - - - 400 - BadRequest -
Я прочитал в документе Microsoft, что BadRequest зарегистрированкогда произошла ошибка синтаксического анализа при обработке запроса.
Вот содержимое запроса, который я пытаюсь отправить:
POST https://xcmci04g.formation.cm-cic.fr:4446/Service1.svc HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/soap+xml;charset=UTF-8;action="http://standards.iso.org/iso/CENTS16986/ServicePT/sendApdu"
Content-Length: 4
Host: xcmci04g.formation.cm-cic.fr:4446
Connection: close
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
toto
Без разрывов строки:
POST https://xcmci04g.formation.cm-cic.fr:4446/Service1.svc HTTP/1.1\r\nAccept-Encoding: gzip,deflate\r\nContent-Type: application/soap+xml;charset=UTF-8;action=\"http://standards.iso.org/iso/CENTS16986/ServicePT/sendApdu\"\r\nContent-Length: 4\r\nHost: xcmci04g.formation.cm-cic.fr:4446\r\nConnection: close\r\nUser-Agent: Apache-HttpClient/4.1.1 (java 1.5)\r\n\r\ntoto\r\n\r\n
Я читал, что иногда "\ r \ n" может вызвать http 400, но я не знаю, как их заменить.
Может кто-нибудь сказать мне, почему мой сервер не принимает мой запрос?и как это исправить?
Спасибо!