[Soap-Python] Extending simple types in pysimplesoap

Burak Arslan burak.arslan at arskom.com.tr
Fri Apr 24 14:00:39 CEST 2015


Hello Chris,

On 04/21/15 19:16, Chris Beck wrote:
> Hi,
> So sorry about not providing a working test case. Here is the Open
> Travel xsd that is causing the parsing
> issue: http://www.opentravel.org/2003A/OTA_CommonTypes.xsd
>

Spyne's schema parser does handle simple type extensions but not simple
type unions.

I created a gist that shows the issue here:

https://gist.github.com/plq/c3537b4452841e28e7e7

(it's huge, so clone it rather than clicking on it)

This function is missing:
https://github.com/arskom/spyne/blob/8b1dfa20f6f36cd54b219c8d1a6789494f32e7dc/spyne/interface/xml_schema/parser.py#L303

Which means we need 1) a Union type (like the Array type) 2) from_string
and to_string functions for union types in ProtocolBase. 3) some simple
code that creates Spyne's Union type based on the information in the
xs:union tag there.

Preliminary exploration (egrep 'type="[^"]+"' *.xsd -o | cut -d: -f2- |
sort -u | grep -v xs: | wc -l) shows 739 types defined here. I did a
test with a service that uses 1000 types as input to 1000 separate
methods and RSS seems to be around 73 mb. That file is in the above gist
as thousand.py as well.

Best
Burak



More information about the Soap mailing list