Jeff,

Thank a lot ! I'll try with 0.3.7 version. Do you know when 0.3.7 will be released ?
Python Suds is a great project. I'm not good developer but if I can contribute : say me !

Regards,

PS. Sorry for my poor english : I'm french :-) Thank you very much.

2009/8/31 Jeff Ortel <jortel@redhat.com>
Paul,

Yup, the <xs:include/> was broken.  Fixed in r558 and will be released in 0.3.7.  I tried with your wsdl and loads fine.

Thanks for bringing this to our attention.

Regards,

Jeff


On 08/31/2009 05:42 AM, Paul Poulet wrote:

I'm trying to use SABRE travel web services with Python Suds 0.3.6, but
one XSD seems not well-formed (maybe namespace is missing in this schema).

from suds.client import Client
wsdl =
'http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl'
client = Client(wsdl, cache=None)

Debug trace returns :

.DEBUG:suds.wsdl:reading wsdl at:
http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl
...
DEBUG:suds.transport.http:opening
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl)
DEBUG:suds.metrics:sax
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl)
duration: 406 (ms)
DEBUG:suds.xsd.sxbasic:Import:0x7f90196fd5f0, importing
ns="http://webservices.sabre.com/sabreXML/2003/07",
location="OTA_AirPriceLLSRQRS.xsd"
DEBUG:suds.transport.http:opening
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQRS.xsd)
DEBUG:suds.metrics:sax
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQRS.xsd)
duration: 504 (ms)
DEBUG:suds.xsd.sxbasic:Include:0x7f90196fdf80, importing ns="None",
location="OTA_AirPriceLLSRQ.xsd"
DEBUG:suds.transport.http:opening
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd)
DEBUG:suds.metrics:sax
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd)
duration: 1.363 (seconds)
DEBUG:suds.xsd.schema:built:
Schema:0x7f9019708e60
(...)
DEBUG:suds.xsd.query:(u'MessageHeader',
http://www.ebxml.org/namespaces/messageHeader), found as:
<Element:0x1f68dd0 name="MessageHeader" />
DEBUG:suds.xsd.query:(u'Security',
http://schemas.xmlsoap.org/ws/2002/12/secext), found as:
<Element:0x21a3a28 name="Security" />
DEBUG:suds.xsd.query:(u'OTA_AirPriceRQ',
http://webservices.sabre.com/sabreXML/2003/07), not-found
.
----------------------------------------------------------------------
Ran 2 tests in 11.669s

Type not found: '(OTA_AirPriceRQ,
http://webservices.sabre.com/sabreXML/2003/07, )'

It's logic : Python Suds loads OTA_AirPriceRQ in a "None" namespace.
I read "fix broken schema" Python Suds documentation
(https://fedorahosted.org/suds/wiki/Documentation#FIXINGBROKENSCHEMAs):

from suds.client import Client
from suds.xsd.doctor import ImportDoctor, Import
wsdl =
'http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl'
imp =
Import('http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ', 'http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd')
d = ImportDoctor(imp)
client = Client(wsdl, cache=None, doctor=d)

But script return another exception :
.DEBUG:suds.wsdl:reading wsdl at:
http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl
...
DEBUG:suds.transport.http:opening
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl)
DEBUG:suds.metrics:sax
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl)
duration: 617 (ms)
DEBUG:suds.xsd.doctor:inserting: <xs:import
xmlns:xs="http://www.w3.org/2001/XMLSchema"
namespace="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ"
schemaLocation="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd"/>
DEBUG:suds.xsd.sxbasic:Import:0xe6cf80, importing
ns="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ",
location="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd"
DEBUG:suds.transport.http:opening
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd)
DEBUG:suds.metrics:sax
(http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd)
duration: 1.375 (seconds)
DEBUG:suds.xsd.doctor:inserting: <xs:import
xmlns:xs="http://www.w3.org/2001/XMLSchema"
namespace="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ"
schemaLocation="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd"/>
(...)
Error maximum recursion depth exceeded while calling a Python object


I don't understand how to use "doctor" functions. Somebody can help me,
please ?
Thank you.




------------------------------------------------------------------------

_______________________________________________
fedora-suds-list mailing list
fedora-suds-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-suds-list