"тут ошибка приходит, response: invalid SOAP envelope". хм, ладно мы тупим, но от вебсервиса нашего провайдера услуг я такое еще не ловил.
Лезу дебажить:
в общем, да, мы таки тупили - нечаянно просочилась утфная кириллица в поле для IATA-кода городов. Но это invalid request, а не response, и ошибка уровня приложения, а не протокола.
другое дело, что web service возвращает нам ошибку парсирования, делает красивое сообщение об ошибке, указав первый байт неуместного текста, ...и заворачивает все это в SOAP Error xml-ку с заголовком encoding="utf-8". Спасибо.
т.е. стейт машина их XML парсера работает побайтово, и с кодировками не парится.
впрочем, не первый раз такое. они же требуют жесткого порядка узлов в xml запросах (очень обширных), не выносят xml комментарии (оба пункта - следствие устройства их парсера, видимо), и возвращают сообщения об ошибках формата soap1.0 на неверные запросы soap2.0. (верные отлично понимают)
А мне еще подключать пару других SOAP сервисов, и еще один xml-ный по over tcp/ip+их собственный транспорт с бинарными заголовками. Арр.