[Twisted-Python] Deferred SOAP methods
exarkun at twistedmatrix.com
exarkun at twistedmatrix.com
Sat Nov 14 11:07:38 MST 2009
On 05:21 pm, landreville at deadtreepages.com wrote:
>On Sat, Nov 14, 2009 at 9:15 AM, Tuure Laurinolli <
>tuure.laurinolli at indagon.com> wrote:
>>Landreville wrote:
>>
>> > Sometimes the calls are blocking because it is calling another SOAP
>> > server (or possibly itself over SOAP). My SOAP calls will all be
>> > blocking because twisted.web.soap doesn't support WSDL.
>>
>>What are you using for your SOAP client calls, then? There is
>>something
>>called "ZSI" (http://pywebsvcs.sourceforge.net/zsi.html) that can
>>operate with Twisted and supports WSDL.
>>
>>I once used it to write a server that could be used with an existing
>>WSDL as its interface. IIRC its Twised integration has some problems
>>(like not supporting asynchronous handling of requests) but they were
>>relatively simple to overcome.
>I'm using soappy for a client because that is what twisted uses for its
>soap
>server. Twisted's implementation does not include WSDL support though
>(so
>I'm using the normal soappy package for the client).
Twisted's SOAP support is definitely pretty pathetic. This is probably
a result of a few things:
* None of the core developers is particularly interested in SOAP. It's
a bad protocol that people generally only use because they're forced to.
* The Python story for SOAP is confusing. For a while, SOAPpy was the
only game in town. Then ZSI came along and that was supposed to be
great. Last I heard, ZSI should be avoided and SUDS is the thing to
use. Without actually having a real SOAP-related problem to solve, it's
hard to tell who to believe.
* Various people are using ZSI with Twisted based on the support in ZSI
for this. This presumably reduces the motivation to add anything in
Twisted to support such integration. Likewise, people are using Twisted
and SUDS together with some other custom integration code (I don't think
this is part of SUDS proper, though). Again, if it works for them, it's
less likely that they'll bother trying to get something better included
in Twisted.
I don't think that it is necessarily a bad thing that Twisted doesn't
have a super awesome SOAP API built in, since it seems that other people
are coming up with ways to solve the problem anyway. The biggest
drawback is perhaps that it is hard for someone to find all these
disparate solutions and select the one that is most suited to solving
their problem.
Jean-Paul
More information about the Twisted-Python
mailing list