Jeff,<br><br>Thank a lot ! I&#39;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&#39;m not good developer but if I can contribute : say me !<br><br>Regards,<br><br>
PS. Sorry for my poor english : I&#39;m french :-) Thank you very much.<br><br><div class="gmail_quote">2009/8/31 Jeff Ortel <span dir="ltr">&lt;<a href="mailto:jortel@redhat.com">jortel@redhat.com</a>&gt;</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 &lt;xs:include/&gt; 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&#39;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>
&#39;<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>&#39;<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=&quot;<a href="http://webservices.sabre.com/sabreXML/2003/07" target="_blank">http://webservices.sabre.com/sabreXML/2003/07</a>&quot;,<br>
location=&quot;OTA_AirPriceLLSRQRS.xsd&quot;<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=&quot;None&quot;,<br>
location=&quot;OTA_AirPriceLLSRQ.xsd&quot;<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&#39;MessageHeader&#39;,<br>
<a href="http://www.ebxml.org/namespaces/messageHeader" target="_blank">http://www.ebxml.org/namespaces/messageHeader</a>), found as:<br>
&lt;Element:0x1f68dd0 name=&quot;MessageHeader&quot; /&gt;<br>
DEBUG:suds.xsd.query:(u&#39;Security&#39;,<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>
&lt;Element:0x21a3a28 name=&quot;Security&quot; /&gt;<br>
DEBUG:suds.xsd.query:(u&#39;OTA_AirPriceRQ&#39;,<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: &#39;(OTA_AirPriceRQ,<br>
<a href="http://webservices.sabre.com/sabreXML/2003/07" target="_blank">http://webservices.sabre.com/sabreXML/2003/07</a>, )&#39;<br>
<br>
It&#39;s logic : Python Suds loads OTA_AirPriceRQ in a &quot;None&quot; namespace.<br>
I read &quot;fix broken schema&quot; 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>
&#39;<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>&#39;<br>
imp =<br>
Import(&#39;<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>&#39;, &#39;<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>&#39;)<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: &lt;xs:import<br>
xmlns:xs=&quot;<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>&quot;<br>
namespace=&quot;<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>&quot;<br>
schemaLocation=&quot;<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>&quot;/&gt;<br>
DEBUG:suds.xsd.sxbasic:Import:0xe6cf80, importing<br>
ns=&quot;<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>&quot;,<br>
location=&quot;<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>&quot;<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: &lt;xs:import<br>
xmlns:xs=&quot;<a href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>&quot;<br>
namespace=&quot;<a href="http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ" target="_blank">http://webservices.sabre.com/sabreXML/2003/07/OTA_AirPriceLLSRQ</a>&quot;<br>
schemaLocation=&quot;<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>&quot;/&gt;<br>
(...)<br>
Error maximum recursion depth exceeded while calling a Python object<br>
<br>
<br>
I don&#39;t understand how to use &quot;doctor&quot; 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>