我认为我要尝试的操作几乎类似于github issue in zeep repo ---但可惜的是对此问题尚无任何回应。我研究了 SOAP 泡沫并安装并尝试了-甚至没有使发送参数起作用并且认为zeep似乎可以更好地维护?
编辑1:
当然,我不是在谈论this
最佳答案
您可以使用插件将xml编辑为纯字符串。我使用此插件将字符“”保留在CDATA元素中。
from xml import etree
from zeep import Plugin
class my_plugin(Plugin):
def egress(self, envelope, http_headers, operation, binding_options):
xml_string = etree.ElementTree.tostring(envelope)
xml_string = xml_string.replace("<", "<")
xml_string = xml_string.replace(">", ">")
parser = etree.ElementTree.XMLParser(strip_cdata=False)
new_envelope = etree.ElementTree.XML(xml_string, parser=parser)
return new_envelope, http_headers
然后只需在客户端上导入插件:
client = Client(wsdl='url', transport=transport, plugins=[my_plugin()])
看一下文档:http://docs.python-zeep.org/en/master/plugins.html
关于python - python zeep : send un-escaped xml as content,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48655638/