Как я могу получить ошибку в библиотеке SOAP? - PullRequest
0 голосов
/ 04 мая 2018

Я получаю ошибку и не могу найти способ ее обойти - это полностью останавливает мой прогресс. Как я могу получить доступ к этому API с помощью SOAP через Python?

import zeep

endpoint_soap = 'http://api4.ibmmarketingcloud.com/SoapApi?wsdl'
client = zeep.Client(endpoint_soap)

Ошибка, которую я получаю, - ValueError:

....
File "src/lxml/etree.pyx", line 1826, in lxml.etree.QName.__init__
File "src/lxml/apihelpers.pxi", line 1626, in 
lxml.etree._tagValidOrRaise
ValueError: Invalid tag name 'AGGREGATE_SUPPRESSIONS '

Python 3,6

1 Ответ

0 голосов
/ 09 мая 2018

Проблема заключается в наличии пробела в имени тега 'AGGREGATE_SUPPRESSIONS' - поэтому вы должны изменить файл utils.py внутри самой библиотеки. Это простое исправление, которое было предложено для решения проблемы с GitHub:

https://github.com/mvantellingen/python-zeep/issues/594

Добавьте следующие строки кода в самом начале функции as_qname.

В пределах Zeep> utils.py:

def as_qname(value, nsmap, target_namespace=None):
    ## Workaround: if any leading and/or ending whitespaces are present, remove them
    ## strip whitespaces
    value = value.strip()
    ## End of workaround
...