code: def processRequest(cls, ps, **kw):
          
          resource = kw['resource']
          request = kw['request']
  
          root = _get_element_nsuri_name(ps.body_root)
          for key,method in inspect.getmembers(resource, inspect.ismethod):
              if (getattr(method, 'soapmethod', False) and method.root == root):
                  break
          else:
              raise RuntimeError, 'Missing soap callback method for root "%s"' %root
  
          try:
              req = ps.Parse(method.requesttypecode)
          except Exception, ex:
              raise
          try:
              rsp = method.responsetypecode.pyclass()
          except Exception, ex:
              raise
          
          try:
              req,rsp = method(req, rsp)
          except Exception, ex:
              raise
  
          return rsp
docs: invokes callback that should return a (request,response) tuple.
          representing the SOAP request and response respectively.
          ps -- ParsedSoap instance representing HTTP Body.
          request -- twisted.web.server.Request