[XML-SIG] Python SOAP Implementations

Ken MacLeod ken@bitsko.slc.ut.us
14 Feb 2001 11:30:52 -0600


"Fred L. Drake, Jr." <fdrake@acm.org> writes:

> Alexandre Fayolle writes:
>  > On Wed, 14 Feb 2001, Juergen Hermann wrote:
>  > >  * Scarab - the WANT to implement SOAP, there's already a module named
>  > > SOAP.py, but they're seemingly not ready yet
>  > 
>  > Do you have a URL for this one?
> 
> 
> 	http://casbah.org/Scarab/
> 
>   I don't see a date on the page stating when this was last updated,
> and the casbah.org pages seem old.  (Ken MacLeod, can you inform us
> on this?  Or add dates to the Web pages?)  The front page at
> casbah.org doesn't contain a link to Scarab, and the "Casbah
> Glossary" link is broken (which is one place I'd expect to see a
> reference to Scarab).
>   There might be more information in the download package.

The Scarab comm library went on hold when I went to rewrite some of
the underlying code (Casbah as a whole went on hold quite a bit
earlier :(.  That underlying code has resulted in Orchard[1] which has
a couple of features that not uncoincidentally make working with SOAP
(in particular, XML Namespaces) a *lot* easier.

The Orchard/Python implementation includes a new SOAP client[2,3]
module that we're using successfuly with Apache SOAP.  This module
supports both SOAP pickling and RPC over HTTP.  Note: I just found a
bug last week: we're not encoding &<>"'.  Doh!  A SOAP server would be
similarly easy, but we haven't penciled it in yet.

The pure Python implementation of Orchard was written as an API
prototype.  Eventually it will go away in favor of the Mostly-C
bridge, and SOAP will be ported to Mostly-C (can you say *screaming
fast*? ;-).  SOAP encoding will be the standard XML pickling format
for Orchard, so it will be a heavily used module, with corresponding
levels of maintenance and support.

Although we're not expecting to maintain the pure Python
implementation moving forward, this implementation is well tested so I
can recommend using it until the Mostly-C bridge is available.

  -- Ken

[1] <http://casbah.org/~kmacleod/orchard/>
[2] <http://casbah.org/~kmacleod/orchard/soap.html>
[3] <http://casbah.org/~kmacleod/orchard/SOAP.py>