我正在使用一个导致我的 SOAP 客户端 (Python SUDS) 出现问题的 WSDL。在开发人员添加<xs:import>
到 WSDL 之前,我的 SOAP 客户端正在工作,但现在它阻塞了我的 SOAP 客户端。
奇怪的是,一些命名空间引用了一个不存在的命名空间 URL。即使它没有解决,我也能够在它工作时调用 SOAP 方法。
我的感觉是进口造成了问题。任何人都可以验证此 WSDL 片段是否正确或有效?这个页面让我相信一个schemaLocation
属性是必要的,但我什至不知道该放什么。
<wsdl:definitions xmlns:ns1="http://org.apache.axis2/xsd"
xmlns:ns="http://sdk.mc.nonexistent.com" xmlns:nsv1="http://v1.sdk.mc.nonexistent.com"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:mcxsv1="http://v1.sdk.mc.nonexistent.com/xsd"
xmlns:mcxs="http://sdk.mc.nonexistent.com/xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
targetNamespace="http://sdk.mc.nonexistent.com">
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://sdk.mc.nonexistent.com/xsd">
...
</xs:schema>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://v1.sdk.mc.nonexistent.com/xsd">
<xs:import namespace="http://sdk.mc.nonexistent.com/xsd"/>
<xs:complexType name="MethodFault_v1">
<xs:choice>
<xs:element minOccurs="0" name="faultMessage" type="xs:string"/>
<xs:element minOccurs="0" name="event" type="mcxs:EventMoref"/>
<xs:element minOccurs="0" name="eventData" type="mcxs:EventData"/>
</xs:choice>
</xs:complexType>
...
</xs:schema>