def handle(self, *args, **kwargs): params = _get_params(kwargs.get('payload'), ['cluster_id', 'connection', 'transport'], 'data.') with closing(self.server.odb.session()) as session: item_list = Element('item_list') db_items = http_soap_list(session, params['cluster_id'], params['connection'], params['transport']) for db_item in db_items: item = Element('item') item.id = db_item.id item.name = db_item.name item.is_active = db_item.is_active item.is_internal = db_item.is_internal item.url_path = db_item.url_path item.method = db_item.method item.soap_action = db_item.soap_action item.soap_version = db_item.soap_version item.service_id = db_item.service_id item.service_name = db_item.service_name item.security_id = db_item.security_id item.security_name = db_item.security_name item.security_def_type = db_item.security_def_type item_list.append(item) return ZATO_OK, etree.tostring(item_list)