Building a web service layer into Plone3

Eric Bréhault ebrehault at gmail.com
Wed Oct 31 08:53:32 UTC 2007


a good approach to implement a SOAP layer on top of existing products might
be to create a BrowserView class that would handle all the SOAP protocol
(produce the WSDL, process the SOAP queries, produce the XML output), so it
would be easy to give a SOAP behaviour to any of your existing content types
(you would just need to specify a marker interface and add a browser:page
tag in your configure.zcml)

I did it to implement a WFS service (WFS is a cartographic-oriented web
service protocol)

(about multi-apdaters and browserview, see this tutorial:
http://plone.org/documentation/tutorial/borg/zope-3-views )

Eric BREHAULT

On 10/31/07, Kevin Teague <kevin at bud.ca> wrote:
>
> If you just need to respond to a limited number of custom SOAP
> messages, then making a tool and installing it into the root of your
> Plone instance is one solution. For example, something along these
> lines (semi-pseudo semi-crusty code follows) ...
>
> class MyCustomTool(UniqueObject, SimpleItem, PropertyManager):
>      "Custom Web Service tool"
>      security = ClassSecurityInfo()
>
>      id = meta_type = 'portal_custom_tool'
>      title = 'Custom Web Service Tool'
>      plone_tool = True
>
>
> security.declareProtected(ModifyPortalContent,'specialWebServiceMethod')
>      def specialWebServiceMethod(self, param1, param2 ):
>         # do stuff ...
>
> Then you need to instantiate this tool inside your Plone site so that
> it has access to acquisition and context and all that jazz.
>
> I've used this with XML-RPC, since Zope 2 will respond to XML-RPC
> messages out-of-the-box. Adding in SOAP support I've never
> experimented with, Google or others on this list might be able to
> provide more knowledge there ...
>
>
> _______________________________________________
> Product-Developers mailing list
> Product-Developers at lists.plone.org
> http://lists.plone.org/mailman/listinfo/product-developers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.plone.org/pipermail/plone-product-developers/attachments/20071031/9bf27058/attachment-0002.html>


More information about the Product-Developers mailing list