При использовании zeep следующий код:
string_type = client.get_type("xsd:string")
string_expression = string_type("my string value")
Результат таков:
<ns1:Value>my string value</ns1:Value>
На самом деле сериализатор на сервере SOAP ожидает:
<ns1:Value xsi:type="b:string" xmlns:b="http://www.w3.org/2001/XMLSchema">my string value</ns1:Value>
Это несоответствие приводит к тому, что сервер SOAP выдает исключение:
zeep.exceptions.Fault: Средство форматирования выдало исключение при попытке десериализации сообщения: при попытке произошла ошибкадля десериализации параметра http://Services.IPWS/. Сообщение InnerException было «Значение элемента из пространства имен http://schemas.datacontract.org/, не может иметь дочернее содержимое, которое должно быть десериализовано как объект.Пожалуйста, используйте XmlNode [] для десериализации этого шаблона XML. '.Пожалуйста, смотрите InnerException для более подробной информации.
Что можно сделать, чтобы Zeep сохранил объявление типа в теге XML?