在这一点上,我已经用 suds 测试了我的 Spyne 服务器,一切正常。我的客户端也使用 SoapUI 成功地与服务器通信。有了这个设置,我们已经转移到他的应用程序的测试环境,现在,事情有点混乱。当他尝试从他的测试环境发送结果时,他得到了这个错误:
senv:Client.XMLSyntaxError
另一方面,我收到一封主题为:
[Django] ERROR: '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:vaul="vault.soap"> <soapenv:Header/> <soapenv:Body> <vaul:ReceiveLabTestResult> <vaul:username>services_xxx_xxx</vaul:username> <vaul:password>xxxx</vaul:password> <vaul:result_xml><![CDATA[[DATA]]]></vaul:result_xml> </vaul:ReceiveLabTestResult> </soapenv:Body></soapenv:Envelope>'
Spyne 中只有两个地方引发了 XMLSyntaxError,并且根据错误,它似乎在解析上面显示的 XML 时遇到了问题。也就是说,我试图以与在 Spyne 中解析它的方式完全相同的方式解析这个 XML,并且它似乎解析得很好:
In [21]: from lxml import etree
In [22]: parser=etree.XMLParser(remove_comments=True)
In [23]: root, xmlids = etree.XMLID(string, parser)
如何让我的 Spyne 服务器与我的客户的测试环境一起工作?如果您有任何想法,请告诉我。我已经用完了。谢谢!