I'm reposting as my first didn't seem to go through.... I got this working with the pyjamas JSONRPCExample. Most of the changes were in the jsonrpc server examples posted above. Here's the code
---------------- controllers/rpc.py ---------------------- # try something like def index(): return jsonrpc.serve() @jsonrpc def echo(text): return 'echoing: %s' % text @jsonrpc def reverse(text): return text[-1::-1] @jsonrpc def uppercase(text): return text.upper() @jsonrpc def lowercase(text): return text.lower() ------------- models/jsonrpc.py ------------------------- """ original code from : http://trac.pyworks.org/pyjamas/wiki/DjangoWithPyJamas """ import gluon.contrib.simplejson as simplejson import types class JSONRPCService: def response(self, id, result): return simplejson.dumps({'version': '1.1', 'id':id, 'result':result, 'error':None}) def error(self, id, code, message): return simplejson.dumps({'id': id, 'version': '1.1', 'error': {'name': 'JSONRPCError', 'code': code, 'message': message } }) def __init__(self): self.methods={} def serve(self): import sys data = simplejson.loads(request.body.read()) id, method, params = data["id"], data["method"], data ["params"] if method in self.methods: try: result =self.methods[method](*params) return self.response(id, result) except BaseException: etype, eval, etb = sys.exc_info() return self.error(id, 100, '%s: %s' %(etype.__name__, eval)) except: etype, eval, etb = sys.exc_info() return self.error(id, 100, 'Exception %s: %s' %(etype, eval)) else: return self.error(id, 100, 'method "%s" does not exist' % method) def __call__(self,func): self.methods[func.__name__]=func return func def listmethods(self): return self.methods.keys() jsonrpc=JSONRPCService() ----------------------------------------------------------------------------------------- Then you need to change the server location in the pyjamas code to something like this class EchoServicePython(JSONProxy): def __init__(self): JSONProxy.__init__(self, "/pyjamas_2/rpc", ["echo", "reverse", "uppercase", "lowercase"]) where you would change "pyjamas_2" for your app name I put the "output" folder from the pyjamas build into the web2py static directory Chris --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---