我正在尝试使用包含来自命名空间http://xml.apache.org/xml-soap的 Map 类型引用的 suds 在 Python 中使用 Web 服务。我猜这是在 Java 中生成的一些非标准类型。这是 wsdl 文件的一部分:
<wsdl:definitions
xmlns:tns="..."
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
mlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:ns2="http://xml.apache.org/xml-soap"
name="controller"
targetNamespace="...">
然后在文件的某处有:
<wsdl:part name="Result" type="ns2:Map"/>
当我尝试解析我得到的文件时
TypeNotFound: Type not found: '(Map, http://xml.apache.org/xml-soap, )'
我能想出的唯一解决方案是获取 wsdl 文件并手动更改它,以便它定义 Map 类型,但我想知道是否有更好的方法来解决这个问题。