[Twisted-web] Use Nevow in conjunction with XMLRPC

Remi Cool mailinglists at smartology.nl
Tue Nov 15 00:53:39 MST 2005


My goal is to create a Twisted server that implements XMLRPC, Nevow and
PHP (for transition of the old webapp).

XMLRPC works again (thanks to Daniel and Matt) ... but I can't get Nevow
working as a child of the httpResource. Or is there a better (Twisted)
way of doing this (without using tap)?

The code:

from formless.annotate import TypedInterface, Integer, String
from nevow import rend, tags, loaders
from formless import webform

class ISimpleMethod(TypedInterface):
    def simple(self,
        name=String(description="Your name."),
        age=Integer(description="Your age.")):

        Please enter your name and age.

class Implementation(object):


    def simple(self, name, age):
        print "Hello, %s, who is %s" % (name, age)

class WebForm(rend.Page):
    document = loaders.stan(tags.html[
    tags.body[ tags.h1["Here is the form:"],

class httpResource(resource.Resource):


    def __init__(self, service):
        self.service = service
        self.putChild('RPC2', Example(self.service))

    def render(self, request):
        self._clientIP = request.getClientIP()
        return resource.Resource.render(self, request)

    def render_GET(self, request):
        """Process HTTP GET Requests."""
        print 'GET: request ->', request
        return '<html><body><h3>Not Implemented</h3></body></html>'

    def getChild(self, path, request):
        """This method handles http calls"""
        print 'getChild path:', path
        print 'getChild request:', request
        if path=="":
            return httpResource(self.service)
            return httpResource(self.service)

components.registerAdapter(httpResource, IowwService, resource.IResource)

More information about the Twisted-web mailing list