2009-11-06 111 views
2

下面的代碼拋出的SAXParseException:「不匹配的標籤」:python soap library suds問題。 WSDL無法被理解

from suds.client import Client <br> 
url = 'http://www.didww.com/api/?wsdl' 
client = Client(url, cache=None)  
print client 

是否有泡沫的問題,或者有在WSDL一些錯誤?

回答

1

你看過瀏覽器或XML查看器中的WSDL文件嗎?這應該回答你的問題是否問題在wsdl中。例外情況表明存在一些問題。

1

似乎爲我工作,泡沫0.3.3(無緩存選項 - 無不是在我的版本肥皂水緩存的有效選項):

In [4]: from suds.client import Client 
In [5]: url = 'https://xml.192.com/IDSearch.cfc?wsdl' 
In [6]: c = Client(url) 
In [7]: print c 

Suds (https://fedorahosted.org/suds/) version: 0.3.3 GA build:  R413-20081204 

Service (IDSearch) tns="http://corpwsdl.oneninetwo" 
Prefixes (1) 
    ns0 = "http://rpc.xml.coldfusion" 
Ports (1): 
    (IDSearch.cfc) 
    Methods (1): 
     search(xs:string xml,) 
    Types (1): 
     ns0:CFCInvocationException 
+0

對不起,我對此wsdl有問題:「http://www.didww.com/api/?wsdl」 「https://xml.192.com/IDSearch.cfc?wsdl」正常工作 – equeny 2009-11-06 18:17:27

0

我試圖重現您的問題,而是所有爲我工作。

我使用肥皂水0.4

運行

from suds.client import Client 

client = Client('http://api.didww.com/api/index.php?wsdl', cache=None) 

print client 

Suds (https://fedorahosted.org/suds/) version: 0.4 GA build: R699-20100913 

Service (DID World Wide) tns="urn:didww" 
Prefixes (2) 
    ns0 = "http://schemas.xmlsoap.org/soap/encoding/" 
    ns1 = "urn:didww" 
Ports (1): 
    (DID World WidePort) 
    Methods (11): 

    buildmapping(xs:string auth_string, xs:int did_id, xs:string map_proto,s:string map_uri, xs:int add_did,) 
     change_mapping(xs:string auth_string, xs:string did_number, xs:string map_proto, xs:string map_uri, xs:int add_did,) 
     did_cancel(xs:string auth_string, xs:string did_number,) 
     get_did_details(xs:string auth_string, xs:string did_number,) 
     get_region_details(xs:string auth_string, xs:string uniq,) 
     getcities(xs:string auth_string, xs:int country_id,) 
     getcountries(xs:string auth_string,) 
     new_order_renew(xs:string auth_string, xs:string did_number, xs:int period, xs:int autorenew,) 
     neworder(xs:string auth_string, xs:string hashkey, xs:string uniq, xs:int autorenew, xs:int period,) 
     order_autorenew_status(xs:string auth_string, xs:string did_number, xs:int status,) 
     order_cancel(xs:string auth_string, xs:string did_number,) 
    Types (55): 
     ns0:Array 
     CitiesArray 
     City 
     CountriesArray 
     Country 
     DID 
     DID_data 
     ns0:ENTITIES 
     ns0:ENTITY 
     ns0:ID 
     ns0:IDREF 
     ns0:IDREFS 
     ns0:NCName 
     ns0:NMTOKEN 
     ns0:NMTOKENS 
     ns0:NOTATION 
     ns0:Name 
     ns0:QName 
     Region 
     ns0:Struct 
     ns0:anyURI 
     ns0:arrayCoordinate 
     ns0:base64 
     ns0:base64Binary 
     ns0:boolean 
     ns0:byte 
     ns0:date 
     ns0:dateTime 
     ns0:decimal 
     ns0:double 
     ns0:duration 
     ns0:float 
     ns0:gDay 
     ns0:gMonth 
     ns0:gMonthDay 
     ns0:gYear 
     ns0:gYearMonth 
     ns0:hexBinary 
     ns0:int 
     ns0:integer 
     ns0:language 
     ns0:long 
     ns0:negativeInteger 
     ns0:nonNegativeInteger 
     ns0:nonPositiveInteger 
     ns0:normalizedString 
     ns0:positiveInteger 
     ns0:short 
     ns0:string 
     ns0:time 
     ns0:token 
     ns0:unsignedByte 
     ns0:unsignedInt 
     ns0:unsignedLong 
     ns0:unsignedShort 

我想他們有一個有點壞了WSDL文件,但現在一切似乎罰款

希望對您有所幫助