我第一次使用 suds 并尝试与外部公司托管的服务器进行通信。当我在服务器上调用一个方法时,我得到了这个 XML。
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode>soap:Server</faultcode>
<faultstring>Can't use string ("") as an ARRAY ref while "strict refs" in use at /vindicia/site_perl/Vindicia/Soap/DocLitUtils.pm line 130.
</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
抛出的异常是这样的:
__call__ 中的文件“C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py”,第 538 行 返回 client.invoke(args, kwargs) 调用中的文件“C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py”,第 602 行 结果 = self.send(msg) 文件“C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py”,第 634 行,在发送中 结果 = self.succeeded(绑定,reply.message) 文件“C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\client.py”,第 669 行,成功 r, p = binding.get_reply(self.method, 回复) 文件“C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\bindings\binding.py”,第 157 行,在 get_reply 结果 = self.replycomposite(rtypes,节点) 文件“C:\Python26\lib\site-packages\suds-0.4-py2.6.egg\suds\bindings\binding.py”,第 227 行,replycomposite raise Exception('未映射到消息部分'% 标记) 例外:“故障代码”未映射到消息部分
知道为什么 suds 会抛出异常吗?关于如何修复它的任何想法?