On 1/7/07, Andreas Jung <[EMAIL PROTECTED]> 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
Description: GNU Zip compressed data
_______________________________________________ Zope3-dev mailing list Zope3firstname.lastname@example.org Unsub: http://mail.zope.org/mailman/options/zope3-dev/archive%40mail-archive.com