code: def __schema_descriptor(self, services):
      
      methods_desc = {}
  
      for service in services:
        protorpc_methods = service.all_remote_methods()
        for protorpc_method_name in protorpc_methods.iterkeys():
          rosy_method = '%s.%s' % (service.__name__, protorpc_method_name)
          method_id = self.__id_from_name[rosy_method]
  
          request_response = {}
  
          request_schema_id = self.__request_schema.get(method_id)
          if request_schema_id:
            request_response['request'] = {
                '$ref': request_schema_id
                }
  
          response_schema_id = self.__response_schema.get(method_id)
          if response_schema_id:
            request_response['response'] = {
                '$ref': response_schema_id
                }
  
          methods_desc[rosy_method] = request_response
  
      descriptor = {
          'methods': methods_desc,
          'schemas': self.__parser.schemas(),
          }
  
      return descriptor
docs: Descriptor for the all the JSON Schema used.
  
      Args:
        services: List of protorpc.remote.Service instances implementing an
          api/version.
  
      Returns:
        Dictionary containing all the JSON Schema used in the service.