【发布时间】:2026-02-24 07:55:02
【问题描述】:
我正在执行一个 SOAP Web 服务的方法,它使用 suds 库接收 3 个字符串参数。
第一个字符串参数应该是一个 XML,另外两个是用户名和密码,这是我的半工作实现。
from suds.client import Client
url = "http://www.jonima.com.mx:3014/sefacturapac/TimbradoService?wsdl"
client = Client(url)
client.service.timbrado(XML_AS_STRING_HERE, 'PRUEBA1', '12345678')
当第一个参数包含转义字符(和号、引号、撇号、小于、大于)时,方法不起作用,因为服务器将文本解释为未转义。如果不包含任何这些字符,则该方法效果很好
没有 & 符号的 XML 示例有效 http://dl.dropbox.com/u/1990697/no_amp.xml
带有 & 符号的 XML 示例不起作用 http://dl.dropbox.com/u/1990697/with_amp.xml
知道如何通过转义字符传递 XML 吗?
它不必依赖 suds 而是在 python 中。 我正在使用 python 2.6(如果需要,它可以使用 2.7)
我也在用Django框架,不知道有没有用。
额外信息:
- 我无权修改 SOAP 服务器
- 客户支持告诉我我的 xml 是正确的并且它们适用于 他们,所以错误是在我的实现中(或在泡沫中的某个地方?)
【问题讨论】:
标签: python xml django soap wsdl