[Twisted-Python] Deferred SOAP methods

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Sat Nov 14 13:07:38 EST 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 
>>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 
>server. Twisted's implementation does not include WSDL support though 
>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.


More information about the Twisted-Python mailing list