def on_message(self, channel, method, header, body): event = self.message_parser.parse(body) if not self.message_parser.validate_token(event.token): logging.error('Token Error') msg = XmlResponseGenerator(event.id, "Token not valid!") self.response_message(channel, method, header, msg.to_xml()) return request = Request(event, self) service = self.service_bus.lookup_message_service_thread(event.category, event.service) if service is None: error_msg = 'Cannot Find Message Service: %s.%s' % (event.category, event.service) logging.error(error_msg) msg = XmlResponseGenerator(event.id, error_msg) self.response_message(channel, method, header, msg.to_xml()) else: logging.info("Call Message Service %s.%s" % (event.category, event.service)) service.on_message(request)
def on_rpc(self, channel, method, header, body): event = self.message_parser.parse(body) if not self.message_parser.validate_token(event.token): logging.error("Token Error") msg = XmlResponseGenerator(event.id, "Token not valid!") self.response_message(channel, method, header, msg.to_xml()) return response = RPCResponse(event, channel, method, header, self) request = Request(event, self) service = self.service_bus.lookup_rpc_service(event.category, event.service) if service is None: error_msg = "Cannot Find RPC Service: %s.%s" % (event.category, event.service) logging.error(error_msg) msg = XmlResponseGenerator(event.id, error_msg) self.response_message(channel, method, header, msg.to_xml()) else: if self.service_bus.is_background_service(service): logging.info("Call Background RPC Service %s.%s" % (event.category, event.service)) self.__run_in_background(service.on_call, (request, response)) else: logging.info("Call RPC Service %s.%s" % (event.category, event.service)) self.__run_in_frontground(service.on_call, (request, response))
def send(self, message): msg = XmlResponseGenerator(self.event.id, message) self.receiver.response_message(self.channel, self.method, self.header, msg.to_xml())