code: def handleRequest(self, req):
          
          name = req["method"]
          params = req["params"]
          id=req["id"]
          obj=None
          try: #to get a callable obj 
              obj = getMethodByName(self.service, name)
          except MethodNameNotAllowed,e:
              self.sendResponse(id, None, e)
          except:
              self.sendResponse(id, None, MethodNotFound())
          if obj:
              try: #to call the object with parameters
                  rslt = obj(*params)
                  self.sendResponse(id, rslt, None)
              except TypeError: # wrong arguments
                  #todo what if the TypeError was not thrown directly by the callable obj
                  s=getTracebackStr()
                  self.sendResponse(id, None, InvalidMethodParameters())
              except: #error inside the callable object
                  s=getTracebackStr()
                  self.sendResponse(id, None, s)
docs: handles a request by calling the appropriete method the service exposes