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(a)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_AirPriceLLS...;,
> '
>
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(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/fedora-suds-list
>