Есть скрипт на php который через сервис soap получает определённые данные, этот скрипт я писал несколько лет назад, решил в целях знакомства с python и ускорения работы переписать его.
Выбрал Zeep для python3.6
и, собственно, простой запрос:
from zeep import Client client = Client('http://192.168.1.100/Client.asmx?WSDL', strict=False) result = client.service.GetData()
Разбираюсь, вижу, что фактически приходит правильный пакет и сервер отвечает - всё как надо.
Включаю опцию raw_response=True, что бы zeep выдавал исходный ответ, не обрабатывая его:
from zeep import Client client = Client('http://192.168.1.100/Client.asmx?WSDL', strict=False) with client.options(raw_response=True): result = client.service.GetData()
Таким образом в result.content строка типа {bytes} в которой ответ сервера с данными, которые я ожидаю.
На php ни чего такого не делал, там использую nusoap, который просто после запроса возвращает мне ассоциативный массив с данными.
Подскажете в чём подвох?
Очень хочется перейти на python, т.к. скорость работы не сравнима с php в данном контексте задачи.
зы: сервис soap не в интернете, не общедоступен.