以下のコードは、SAXParseException: "mismatched tag" をスローします。
from suds.client import Client <br>
url = 'http://www.didww.com/api/?wsdl'
client = Client(url, cache=None)
print client
suds に問題がありますか、それとも wsdl にエラーがありますか?
ブラウザーまたは XML ビューアーで WSDL ファイルを確認しましたか? 問題が wsdl にあるかどうかについての質問に答える必要があります。例外は、何か問題があることを示唆しています。
suds 0.3.3 で動作するようです (キャッシュ オプションなし - 私のバージョンの suds では、None は有効なキャッシュ オプションではありません):
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
問題を再現しようとしましたが、すべてうまくいきます。
suds0.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 ファイルが壊れていたと思いますが、今はすべて問題ないようです
それが役立つことを願っています