def request_json(self, conn): """Connection bilgisi ve gerekli veriler ile Hitap'ın ilgili servisine istekte bulunup gelen cevabı uygun şekilde elde eder. Hitap'tan gelen verilerin sisteme uygun şekilde elde edilmesi için, gerekli Hitap sözlüğünü yaratan ve tarih alanı gibi belli alanlara uygun filteleri uygulayacak olan fonksiyonları çağırır. Veriler uygun şekilde elde edildikten sonra servis cevabı (payload) oluşturulur. Args: conn (zato.outgoing.soap.conn): Zato soap outgoing bağlantısı Raises: AttributeError: İlgili servis veya bean Hitap'ta bulunmayabilir. urllib2.URLError: Servis yanıt vermiyor. """ status = "error" hitap_dict = [] try: # connection for hitap with conn.client() as client: request_data = client.factory.create(self.service_name) request_data.kullaniciAd = H_USER request_data.sifre = H_PASS for dict_element in self.service_dict['fields']: request_data[dict_element] = self.service_dict[ dict_element] if 'required_fields' in self.service_dict: required_field_check = HitapHelper() required_field_check.check_required_data(self.service_dict) service_name = self.service_name hitap_service = getattr(client.service, self.service_name)(request_data) status = "ok" except AttributeError: self.logger.exception("AttributeError") status = "error" except urllib2.URLError: self.logger.exception("Service unavailable!") status = "error" finally: self.response.payload = { 'status': status, 'result': self.create_hitap_json(hitap_service) }
def request_json(self, tckn, conn): """ Kimlik numarası ve kullanıcı bilgileriyle birlikte Hitap'ın ilgili servisine istekte bulunup gelen cevabı uygun şekilde elde eder. Hitap'tan gelen verilerin sisteme uygun şekilde elde edilmesi için, gerekli Hitap sözlüğünü yaratan ve tarih alanı gibi belli alanlara uygun filteleri uygulayacak olan fonksiyonları çağırır. Veriler uygun şekilde elde edildikten sonra servis cevabı (payload) oluşturulur. Args: tckn (str): Türkiye Cumhuriyeti Kimlik Numarası conn (zato.outgoing.soap.conn): Zato soap outgoing bağlantısı Raises: AttributeError: İlgili servis veya bean Hitap'ta bulunmayabilir. urllib2.URLError: Servis yanıt vermiyor. """ status = "error" hitap_dict = [] try: # connection for hitap with conn.client() as client: if 'required_fields' in self.service_dict: required_field_check = HitapHelper() required_field_check.check_required_data(self.service_dict) # hitap response hitap_service = getattr(client.service, self.service_name)(H_USER, H_PASS, tckn) # get bean object service_bean = getattr(hitap_service, self.bean_name) self.logger.info("%s started to work." % self.service_name) hitap_dict = self.create_hitap_dict(service_bean, self.service_dict['fields']) # filtering for some fields if 'date_filter' in self.service_dict: self.date_filter(hitap_dict) self.custom_filter(hitap_dict) status = "ok" except AttributeError: self.logger.exception("AttributeError") status = "error" except urllib2.URLError: self.logger.exception("Service unavailable!") status = "error" finally: self.response.payload = {'status': status, 'result': dumps(hitap_dict)}
def request_json(self, conn): """Connection bilgisi ve gerekli veriler ile Hitap'ın ilgili servisine istekte bulunup gelen cevabı uygun şekilde elde eder. Hitap'tan gelen verilerin sisteme uygun şekilde elde edilmesi için, gerekli Hitap sözlüğünü yaratan ve tarih alanı gibi belli alanlara uygun filteleri uygulayacak olan fonksiyonları çağırır. Veriler uygun şekilde elde edildikten sonra servis cevabı (payload) oluşturulur. Args: conn (zato.outgoing.soap.conn): Zato soap outgoing bağlantısı Raises: AttributeError: İlgili servis veya bean Hitap'ta bulunmayabilir. urllib2.URLError: Servis yanıt vermiyor. """ status = "error" hitap_dict = [] try: # connection for hitap with conn.client() as client: request_data = client.factory.create(self.service_name) request_data.kullaniciAd = H_USER request_data.sifre = H_PASS for dict_element in self.service_dict['fields']: request_data[dict_element] = self.service_dict[dict_element] if 'required_fields' in self.service_dict: required_field_check = HitapHelper() required_field_check.check_required_data(self.service_dict) service_name = self.service_name hitap_service = getattr(client.service, self.service_name)(request_data) status = "ok" except AttributeError: self.logger.exception("AttributeError") status = "error" except urllib2.URLError: self.logger.exception("Service unavailable!") status = "error" finally: self.response.payload = {'status': status, 'result': self.create_hitap_json(hitap_service)}