我一直在尝试使用suds来调用Python WSDL。我只需要以编程方式调用服务并编写输出XML文档。然而,suds会自动将这些数据解析为它自己的pythonic数据格式。我一直在浏览the examples和the documentation,但我似乎找不到返回SOAP服务给我的XML文档的方法。
有一种简单的方法可以做到这一点我忽略了吗?在Python中使用比suds更简单的方法吗?
答案 0 :(得分:3)
在泡沫开发的早期阶段,获取原始XML内容的最简单方法并不是人们所期望的。
网站上的示例向我们展示了这样的内容:
client = Client(url)
result = client.service.Invoke(subm)
但是,结果是一个预先解析的对象,非常适合Python访问,但不适用于XML文档访问。幸运的是,Client对象仍然存储了收到的原始SOAP消息。
result = client.last_received()
print result
将为您提供收到的实际SOAP消息。
答案 1 :(得分:0)
您可以看一下像soaplib这样的库:它是一种在Python中使用(和提供)SOAP Web服务的非常好的方法。最新版本有一些代码可以动态地(在运行时)或静态地(针对某些WSDL运行脚本)动态生成Python绑定。
[免责声明:我是该项目的维护者! - 虽然我没有写出大部分内容]