Jeff,<br><br>Thank a lot ! I'll try with 0.3.7 version. Do you know when 0.3.7 will be released ?<br>Python Suds is a great project. I'm not good developer but if I can contribute : say me !<br><br>Regards,<br><br>
PS. Sorry for my poor english : I'm french :-) Thank you very much.<br><br><div class="gmail_quote">2009/8/31 Jeff Ortel <span dir="ltr"><<a href="mailto:jortel@redhat.com">jortel@redhat.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Paul,<br>
<br>
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.<br>
<br>
Thanks for bringing this to our attention.<br>
<br>
Regards,<br><font color="#888888">
<br>
Jeff</font><div><div></div><div class="h5"><br>
<br>
On 08/31/2009 05:42 AM, Paul Poulet wrote:<br>
</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">
<br>
I'm trying to use SABRE travel web services with Python Suds 0.3.6, but<br>
one XSD seems not well-formed (maybe namespace is missing in this schema).<br>
<br>
from suds.client import Client<br>
wsdl =<br>
'<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a>'<br>
client = Client(wsdl, cache=None)<br>
<br>
Debug trace returns :<br>
<br>
.DEBUG:suds.wsdl:reading wsdl at:<br>
<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a><br>
...<br>
DEBUG:suds.transport.http:opening<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a>)<br>
DEBUG:suds.metrics:sax<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a>)<br>
duration: 406 (ms)<br>
DEBUG:suds.xsd.sxbasic:Import:0x7f90196fd5f0, importing<br>
ns="<a href="http://webservices.sabre.com/sabreXML/2003/07" target="_blank">http://webservices.sabre.com/sabreXML/2003/07</a>",<br>
location="OTA_AirPriceLLSRQRS.xsd"<br>
DEBUG:suds.transport.http:opening<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQRS.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQRS.xsd</a>)<br>
DEBUG:suds.metrics:sax<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQRS.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQRS.xsd</a>)<br>
duration: 504 (ms)<br>
DEBUG:suds.xsd.sxbasic:Include:0x7f90196fdf80, importing ns="None",<br>
location="OTA_AirPriceLLSRQ.xsd"<br>
DEBUG:suds.transport.http:opening<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>)<br>
DEBUG:suds.metrics:sax<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>)<br>
duration: 1.363 (seconds)<br>
DEBUG:suds.xsd.schema:built:<br>
Schema:0x7f9019708e60<br>
(...)<br>
DEBUG:suds.xsd.query:(u'MessageHeader',<br>
<a href="http://www.ebxml.org/namespaces/messageHeader" target="_blank">http://www.ebxml.org/namespaces/messageHeader</a>), found as:<br>
<Element:0x1f68dd0 name="MessageHeader" /><br>
DEBUG:suds.xsd.query:(u'Security',<br>
<a href="http://schemas.xmlsoap.org/ws/2002/12/secext" target="_blank">http://schemas.xmlsoap.org/ws/2002/12/secext</a>), found as:<br>
<Element:0x21a3a28 name="Security" /><br>
DEBUG:suds.xsd.query:(u'OTA_AirPriceRQ',<br>
<a href="http://webservices.sabre.com/sabreXML/2003/07" target="_blank">http://webservices.sabre.com/sabreXML/2003/07</a>), not-found<br>
.<br>
----------------------------------------------------------------------<br>
Ran 2 tests in 11.669s<br>
<br>
Type not found: '(OTA_AirPriceRQ,<br>
<a href="http://webservices.sabre.com/sabreXML/2003/07" target="_blank">http://webservices.sabre.com/sabreXML/2003/07</a>, )'<br>
<br>
It's logic : Python Suds loads OTA_AirPriceRQ in a "None" namespace.<br>
I read "fix broken schema" Python Suds documentation<br>
(<a href="https://fedorahosted.org/suds/wiki/Documentation#FIXINGBROKENSCHEMAs" target="_blank">https://fedorahosted.org/suds/wiki/Documentation#FIXINGBROKENSCHEMAs</a>):<br>
<br>
from suds.client import Client<br>
from suds.xsd.doctor import ImportDoctor, Import<br>
wsdl =<br>
'<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a>'<br>
imp =<br>
Import('<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>', '<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>')<br>
d = ImportDoctor(imp)<br>
client = Client(wsdl, cache=None, doctor=d)<br>
<br>
But script return another exception :<br>
.DEBUG:suds.wsdl:reading wsdl at:<br>
<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a><br>
...<br>
DEBUG:suds.transport.http:opening<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a>)<br>
DEBUG:suds.metrics:sax<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.wsdl</a>)<br>
duration: 617 (ms)<br>
DEBUG:suds.xsd.doctor:inserting: <xs:import<br>
xmlns:xs="<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>"<br>
namespace="<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>"<br>
schemaLocation="<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>"/><br>
DEBUG:suds.xsd.sxbasic:Import:0xe6cf80, importing<br>
ns="<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>",<br>
location="<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>"<br>
DEBUG:suds.transport.http:opening<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>)<br>
DEBUG:suds.metrics:sax<br>
(<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>)<br>
duration: 1.375 (seconds)<br>
DEBUG:suds.xsd.doctor:inserting: <xs:import<br>
xmlns:xs="<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>"<br>
namespace="<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>"<br>
schemaLocation="<a href="http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd" target="_blank">http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_AirPriceLLSRQ.xsd</a>"/><br>
(...)<br>
Error maximum recursion depth exceeded while calling a Python object<br>
<br>
<br>
I don't understand how to use "doctor" functions. Somebody can help me,<br>
please ?<br>
Thank you.<br>
<br>
<br>
<br>
<br></div></div><div class="im">
------------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
fedora-suds-list mailing list<br>
<a href="mailto:fedora-suds-list@redhat.com" target="_blank">fedora-suds-list@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/fedora-suds-list" target="_blank">https://www.redhat.com/mailman/listinfo/fedora-suds-list</a><br>
</div></blockquote>
<br>
</blockquote></div><br>