Добрый день уважаемые знатоки! Второй день бьюсь над темой передачи в SOAP-запросе русских символов. C Веб-службой общаюсь через TIdHTTP. Все настройки выставил правильно. Авторизация проходит успешно. Но когда пытаюсь отправить запрос в теле которого содержится кирилица, снифер показывает что в POST идут ????????.
Отправлял через TStringList
IdHttp.Post(HTTP_WWW, SL, MS)
Настройки компонента перед отправкой:
IdHttp.Request.Connection = 'keep-alive';
IdHttp.Request.Accept = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
IdHttp.Request.ProtocolVersion = pv1_1;
IdHttp.Request.ContentType = 'text/xml;charset=UTF-8';
IdHttp.Request.Charset = 'UTF-8';
IdHttp.Request.ContentLength = Length(SOAP_BODY);
IdHttp.Request.CustomHeaders.Clear;
IdHttp.Request.CustomHeaders.Add(SOAP_ACTION);
Перелазив разные вопросы по данной теме, попробовал поменять StringList на StringStream. Теперь сниффер показывает что вместо русских символов и ???? приходят в тело запроса циферки /316/342 и т.д. Вроде как мне кажется так кодируется UTF-8, но тем не менее сама веб-служба отвечает мне что не хочу я таких символов, давай мне нормальный русский язык. Всю голову сломал. Подскажите как можно это победить? Delphi XE.