Python 如何通过SOAP库zeep中的错误?
我犯了一个错误,找不到解决的办法——它完全停止了我的进步。如何通过Python使用SOAP访问此APIPython 如何通过SOAP库zeep中的错误?,python,xml,soap,lxml,zeep,Python,Xml,Soap,Lxml,Zeep,我犯了一个错误,找不到解决的办法——它完全停止了我的进步。如何通过Python使用SOAP访问此API 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._
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 '
Python3.6问题在于标记名“AGGREGATE\u SUPPRESSIONS”中存在空格,因此必须修改库本身中的utils.py文件。这是一个简单的修复方案,解决了GitHub问题: 在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
这里有人有同样的问题-这可能不是一个zeep,而是一个lxml问题谢谢你@jan seins在底部解决了这个问题。必须按照问题中的讨论修改zeep utils.py