On Wed, May 7, 2014 at 4:11 PM, Paul Tagliamonte <paul...@ubuntu.com> wrote:
> On Wed, May 7, 2014 at 5:01 PM, Steve Langasek <vor...@debian.org> wrote:
>> FWIW, while I think getting the python policy to recommend Python3 is a good
>> step forward, I think it's more important that we make sure the base system
>> is leading by example.  As described on debian-devel[1], there seem to be
>> some porting blockers before we can migrate from python to python3 in the
>> standard install.
>>
>> [1] https://lists.debian.org/debian-devel/2014/04/msg00784.html
>
> Ugh, suds strikes again.
>
> If I had more time to blow, I'd likely try a run at something SUDS API
> compatible in Python 3. Won't happen any time soon for me, but it's
> something I will eternally praise someone over.
>
> So many people have tried to forward-port the SUDS codebase,
> apparently it's *bad*.

I do not consider suds to be the issue here. Currently the
python-debianbts library uses SOAPpy. I opted to attempt to port the
codebase to suds rather than port SOAPpy to python3. I have worked
with a multitude of SOAP libraries in a few different languages and I
have found suds to be easy to use and very efficient in comparison to
other options. If you want to see a *bad* SOAP library codebase, have
a look at python-zsi.

In order to even get started with the port, I had to write a WSDL. I
was very surprised to find a SOAP service that didn't expose one.
Luckily, some of the work had already been done for an Emacs plugin
which I was able to use as a base. The XML I was unable to get suds to
produce in a call was XML that I would have otherwise never expected
to be correct for a SOAP request.

Let's take the get_usertag() method as an example, which the
documentation says takes an email address and a list of tags. This is
what I expect with an array of something in SOAP (usually there is a
wsdl to tell exactly what it expects):

<email>foo</email>
<tags>
  <tag>foo</tag>
  <tag>bar</tag>
</tags>

What debbugs expects:

<email>foo</email>
<tag1>foo</tag1>
<icannamethisanything>bar</icannamethisanything>

It doesn't care about the names of the tags, it only cares about
order. Since the first example matches the SOAP specification for
arrays and the later does not[1], I consider debbugs to be broken, not
suds.

[1] http://www.w3.org/TR/2000/NOTE-SOAP-20000508/#_Toc478383522

Regards,
Jordan Metzmeier


-- 
To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/cad758rhesybhjhenzumk4y6o8qjean6skexbvfyqng5v3ky...@mail.gmail.com

Reply via email to