[Soap-Python] How keep Python 3 moving forward - suds & Python 3
Dariusz Suchojad
dsuch at zato.io
Fri May 30 08:55:57 CEST 2014
On 05/30/2014 08:43 AM, Burak Arslan wrote:
[About suds]
> Also, it can't do async because unlike Spyne, transports are not
> pluggable.
Just for the record - I use suds-jurko asynchronously in Zato, which is
based on gunicorn/gevent, just fine.
I can't say whether the original suds library could have been used
because I didn't really investigate that option, went straight to
suds-jurko.
The only issue I had was that suds-jurko inherited from plain suds
class/client-level caches that had to be worked around by obtaining a
queue of pre-configured number of SOAP clients in their own queues by an
initializing Zato server.
https://github.com/zatosource/zato/blob/master/code/zato-server/src/zato/server/connection/http_soap/outgoing.py#L314
https://github.com/zatosource/zato/blob/master/code/zato-server/src/zato/server/connection/queue.py
So essentially:
- gevent monkey patches everything suds-jurko needs thus making the
latter asynchronous
- Zato creates a queue of client connections
- Users can run suds-jurko in an asynchronous manner
- Everyone is happy :-)
cheers,
--
Dariusz Suchojad
https://zato.io
ESB, SOA, REST, APIs and cloud integrations in Python
More information about the Soap
mailing list