У меня были проблемы с решением этой проблемы в течение нескольких дней, и я не смог найти какой-либо полезный ресурс по этому поводу в Интернете, поэтому я поделюсь своими выводами по этому поводу для дальнейшего использования:
Клиент Python 2.7 xmlrpclib
имеет типы, определенные встроенным стандартом XMLRPC, а также несколько общих расширений. Однако другие XMLRPC-серверы, такие как Apache, иногда используют свои собственные типы или помещают расширения в специальные пространства имен и т. Д.
Например, когда вы отправляете 8-байтовое целое число с помощью Apache (на которое не распространяется стандарт XMLRPC), он отправляет следующий ответ:
<methodResponse xmlns:ex="http://ws.apache.org/xmlrpc/namespaces/extensions">
<params>
<param>
<value>
<ex:i8>123456789</ex:i8>
</value>
</param>
</params>
</methodResponse>
Если вы наивно попытаетесь обработать эти типы с помощью Python, вы получите пустой результат кортежа. Как я могу настроить xmlrpclib
для обработки таких случаев?