Zhiwu Xie wrote:
Newbie here, would appreciate your help and/or hint.
Not sure if it's because I didn't use ImportDoctor properly or because it's a SAX parser so it didn't reach the scheme for the namespace 'urn:theplatform-com:v4/base/' before trying to parse it, or it's the WSDL file (http://admin.theplatform.com/API/urn:service.wsdl) that's wrongly formed.
The wsdl contains (16) schemas and (3) of them reference types in the in the 'urn:theplatform-com:v4/base/' namespace but fail to properly import the schema. Even though, the schema is defined within the same wsdl, XSD import rules apply.
What you have below is very close - but backwards. The Import() constructor takes the namespace (and optional schema location) of an xs:import/ to add (if missing). The Import.filter takes the targetNamepsace(s) of this schema(s) to be fixed (that are missing the import(s) ).
This works for me:
url = 'http://admin.theplatform.com/API/urn:service.wsdl' imp = Import('urn:theplatform-com:v4/base/') imp.filter.add('urn:theplatform-com:v4/admin/value/') imp.filter.add('urn:theplatform-com:v4/content/value/') imp.filter.add('urn:theplatform-com:v4/rights/value/') d = ImportDoctor(imp) client = Client(url, schemadoctor=d)
Regards,
Jeff
Thanks a lot,
Zhiwu
from suds.xsd.doctor import * imp = Import('http://www.w3.org/2001/XMLSchema') imp.filter.add('urn:theplatform-com:v4/base/') doctor = ImportDoctor(imp) url = 'http://admin.theplatform.com/API/urn:service.wsdl' client = Client(url, schemadoctor=doctor)
Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> client = Client(url, schemadoctor=doctor) File "C:\Python25\Lib\site-packages\suds\client.py", line 106, in __init__ self.wsdl = Definitions(url, options) File "C:\Python25\Lib\site-packages\suds\wsdl.py", line 193, in __init__ self.build_schema() File "C:\Python25\Lib\site-packages\suds\wsdl.py", line 255, in build_schema self.schema = container.load() File "C:\Python25\Lib\site-packages\suds\xsd\schema.py", line 92, in load child.dereference() File "C:\Python25\Lib\site-packages\suds\xsd\schema.py", line 294, in dereference midx, deps = x.dependencies() File "C:\Python25\Lib\site-packages\suds\xsd\sxbasic.py", line 783, in dependencies raise TypeNotFound(qref) TypeNotFound: Type not found: '(BusinessObject, urn:theplatform-com:v4/base/, )'
fedora-suds-list mailing list fedora-suds-list@redhat.com https://www.redhat.com/mailman/listinfo/fedora-suds-list