8     service_response_msg_fields = [
 
    9         (
True, 
"service", string_types), (
False, 
"id", string_types),
 
   10         (
False, 
"values", dict), (
True, 
"result", bool)
 
   15         Capability.__init__(self, protocol)
 
   25         service_name = message[
"service"]
 
   26         if service_name 
in self.
protocol.external_service_list:
 
   27             service_handler = self.
protocol.external_service_list[service_name]
 
   29             request_id = message[
"id"]
 
   30             values = message[
"values"]
 
   32             resp = ros_loader.get_service_response_instance(service_handler.service_type)
 
   33             message_conversion.populate_instance(values, resp)
 
   35             service_handler.responses[request_id] = resp
 
   37             self.
protocol.log(
"error", 
"Service %s has not been advertised via rosbridge." % service_name)