I have been tossing around ideas about what a TurboZSI module
would look like. ZSI, for those who don't know, is a transport
neutral soap library with wsdl support. Unlike the old SOAPpy module,
ZSI focuses on being a legitimate and interoperable soap
implementation.
What I am looking for is suggestions on how to best leverage
TurboGears to serve soap services. TG comes off as somewhat
method-centric, since methods are used to render pages, json, etc.
When implementing a web service it makes more sense to expose the soap
proxy as a class. This can sort of be seen with twisted, <
http://twistedmatrix.com/projects/web/documentation/howto/xmlrpc.html#auto4
>. Conversion between xml schema types and python objects is done via
typecodes. Each function needs to know the request and response
typecode. I wrote a cherrypy filter similar to the xmlrpc one, and it
works but doesn't buy you much. I also tried using the TG template
plugins, but the mapping didn't seem natural.
You're still here? :) As a first approach I want to get a
top-down model working. Basically tell a class what wsdl I want to
use, and the methods of that class implement the logic of each method
the web service contains. Each method should take two arguments (not
counting self): the request object passed in and a shell of the
response object to be populated with the result and returned. Another
important part is making use of ZSI's wsdl2py and wsdl2dispatch
commands/scripts. These generate all the type mapping classes
automatically. Maybe these could be invoked by a tg-admin plugin?
So I am basically looking for some detailed suggestions on how to
approach this problem. I can provide more samples if needed, but
would just like to get some interaction to decide on a good approach.
Thanks,
Charlie
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/turbogears
-~----------~----~----~----~------~----~------~--~---