我正在尝试使用suds来使用Python中的Web服务,该suds包含来自命名空间http://xml.apache.org/xml-soap的Map类型的引用。我猜这是用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类型,但我想知道是否有更好的方法来解决此问题。