[Zope3-dev] SOAP support?

Jeff Shell eucci.group at gmail.com
Thu Feb 8 14:31:19 EST 2007


On 1/7/07, Andreas Jung <lists at zopyx.com> wrote:
> Hi,
>
> I am actually looking at options for bringing SOAP support into Zope 2.
> Is there some SOAP infrastructure available in Zope 3 (or some add-ons)
> and might be re-used in a reasonable way?

FWIW, I managed to bang out a brute force RPC style SOAP publisher,
based on the XML-RPC one in Zope 3. I used ZSI to handle the parsing /
writing, and expect my "views" / published methods to do the same -
ie, I can't just return a dictionary or list and have it all get
bundled up correctly. This is because SOAP, as far as I can understand
it, suuuuuuucks.

ZSI - http://pywebsvcs.sf.net/

I had to bang this implementation together because a customer has an
old flash applet that retrieved some data from a ColdFusion Component
exposed as a web service. They apparently don't have the Flash source
any more, and we've been unable to get much help from their developers
or anyone in regards to what this Flash tool expects. All we have is
the cold fusion component source - and we don't even know what data is
actually being returned! At most we can see the columns / keys. Ugh.

I'm glad that Zope 3 has a built-in place to attach a SOAP request
factory/handler/thing, but I definitely wouldn't expect or want any
more than that. I had to pull some nasty hacks to get the generated
SOAP response to be handled properly by the Flash client - what ZSI
generated was probably close to some kind of spec, but just didn't
behave in the same manner as these two Macromedia, er, Adobe tools.

It feels like the best chances of any kind of interoperability come
from servers and clients built by the same provider. What a mess.

I've attached the publisher side of what I've managed to cobble
together so far in case anyone is interested. I'm probably not going
to take this thing any further as it basically provides just enough
functionality to allow us to communicate with the Flash client. The
Zope application side of my project used ZSI's `wsdl2py` and
`wsdl2dispatch` to generate the skeleton code, typecodes, and rough
ideas on how to write a response handler.

"The S Stands for Simple" is definitely a great read. It's terrifying
because it's true. (At the same time, I can see the appeal of SOAP in
the heavyweight compiled commercial crap tools business - exposing a
ColdFusion Component as a web service is as easy as adding ``?wsdl``
to the URL, and I was able to attach the web service to a table in
Flash 8 Professional and witness data being returned, and I don't know
or use Flash (or ColdFusion) at all. Ugh. Shame it's such a crap
system. Viva AJAX with JSON! Viva View-Source! Viva good old fashioned
GET and POST HTTP requests that don't have additional traversal steps
buried in a body that one could never type by hand!)

- 100 for adding this kind of support to the core. It's way too much
of a mess, and the Python SOAP libraries all seem to be in pretty bad
shape.
-- 
Jeff Shell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: soappublisher-0.0.0.tgz
Type: application/x-gzip
Size: 2839 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope3-dev/attachments/20070208/b4b4ecd1/soappublisher-0.0.0.bin


More information about the Zope3-dev mailing list