def service_1009(req, IS, name='1009'): '''Получает ответ от сервиса req: строка запроса numer: (обязательный, номер для образования имени) IS: обязательный, словарь. ''' # сохранить запрос smev.write_file(req, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://socit.ru/Permit"} try: con.request("POST", IS['url']+"SMEV/permit256.ashx", req.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу http://socit.ru/Permit, возникли ошибки:") print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части smev.write_file(result, name) con.close() return result
def service_1005(req, IS, name): '''Получает ответ от 1005 сервиса, подставляет текущую дату в исходный файл. req: строка запроса (обязательный) IS: обязательный, словарь. Из него получается адрес, порт name: обязательный, префикс для образования имени. ответ сервера в строке или None в случае ошибки ''' # сохранить запрос smev.write_file(req, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "Transport"} try: con.request("POST", IS['url']+"/SMEV/Transport.ashx", req.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу Transport , возникли ошибки:") print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки smev.write_file(result, name) con.close() return result
def service_1007(req, IS, name='1007'): '''Получает ответ от сервиса req: строка запроса numer: (обязательный, номер для образования имени) IS: обязательный, словарь. ''' # сохранить запрос smev.write_file(req, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://socit.ru/veteranWork" } try: con.request("POST", IS['url'] + "SMEV/VeteranWork.ashx", req.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print( "Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:" ) print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части smev.write_file(result, name) con.close() return result
def service_510(req, IS, name='510'): """Получает ответ от 510 сервиса req: строка запроса (обязательный,в нем меняется время, наименование ИС, КОД, ОКТМО) numer: (обязательный, номер для образования имени) IS: обязательный, словарь. Наименование ИС, мнемоника, ОКТМО ответ сервера в строке или None в случае ошибки """ # проводим замены s = smev.change(req, IS) # сохранить запрос smev.write_file(s, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить ответ headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "queryLongServicePension"} try: con.request("POST", IS['url']+"/SMEV/GosPension256.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:") print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части smev.write_file(result, name) con.close() return result
def service_1003(req, IS, con, name='1003'): '''Получает ответ от 1003 сервиса, подставляет текущую дату в исходный файл. req: строка запроса (обязательный,в нем меняется время, наименование ИС, КОД, ОКТМО) numer: (обязательный, номер для образования имени) IS: обязательный, словарь. Наименование ИС, мнемоника, ОКТМО ответ сервера в строке или None в случае ошибки con: соединение к сервису ''' # проводим замены s = smev.change(req, IS) # сохранить запрос smev.write_file(s, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://socit.ru/ManyChildren"} try: con.request("POST", IS['url']+"SMEV/ManyChildren.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:") print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части smev.write_file(result, name) con.close() return result
def pgu_send(IS, req, pre='pgu', soapaction="GetSettings", url=r"pgu/RequestAllowanceServiceSOAP256.ashx"): '''Получает ответ от сервиса ПГУ req: строка запроса pre: необязательный, для образования имени adr: адрес сервиса (необяз., по умолчанию service_adr) port: порт (необяз., по умолчанию =service_port) ответ сервера в строке или None в случае ошибки''' url = IS['url']+url # сохранить запрос smev.write_file(req, soapaction, pre) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": soapaction} try: con.request("POST", url, req.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print ("Не удалось обратится к методу %s возникли ошибки:" % soapaction) print ("Тип:", Type, "Значение:", Value) print ("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части if smev.write_file(result, soapaction, pre) > 0: result = None return result
def service_1004(req, IS, name='1004'): '''Получает ответ от сервиса. req: строка запроса IS: обязательный, словарь. Наименование ИС, мнемоника, ОКТМО numer: (обязательный, номер для образования имени) ответ сервера в строке или None в случае ошибки result: возвращает XML ответ сервиса. ''' # сохранить запрос smev.write_file(req, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "ManyChildren"} try: con.request("POST", IS['url']+"SMEV/ResidencePermit.ashx", req.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:") print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части smev.write_file(result, name) con.close() return result
def service_1003(req, IS, con, name='1003'): '''Получает ответ от 1003 сервиса, подставляет текущую дату в исходный файл. req: строка запроса (обязательный,в нем меняется время, наименование ИС, КОД, ОКТМО) numer: (обязательный, номер для образования имени) IS: обязательный, словарь. Наименование ИС, мнемоника, ОКТМО ответ сервера в строке или None в случае ошибки con: соединение к сервису ''' # проводим замены s = smev.change(req, IS) # сохранить запрос smev.write_file(s, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://socit.ru/ManyChildren" } try: con.request("POST", IS['url'] + "SMEV/ManyChildren.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print( "Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:" ) print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части smev.write_file(result, name) con.close() return result
def service_510(req, IS, name='510'): """Получает ответ от 510 сервиса req: строка запроса (обязательный,в нем меняется время, наименование ИС, КОД, ОКТМО) numer: (обязательный, номер для образования имени) IS: обязательный, словарь. Наименование ИС, мнемоника, ОКТМО ответ сервера в строке или None в случае ошибки """ # проводим замены s = smev.change(req, IS) # сохранить запрос smev.write_file(s, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить ответ headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": "queryLongServicePension" } try: con.request("POST", IS['url'] + "/SMEV/GosPension256.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print( "Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:" ) print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части smev.write_file(result, name) con.close() return result
def service_1005(req, IS, name): '''Получает ответ от 1005 сервиса, подставляет текущую дату в исходный файл. req: строка запроса (обязательный) IS: обязательный, словарь. Из него получается адрес, порт name: обязательный, префикс для образования имени. ответ сервера в строке или None в случае ошибки ''' # сохранить запрос smev.write_file(req, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": "Transport" } try: con.request("POST", IS['url'] + "/SMEV/Transport.ashx", req.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу Transport , возникли ошибки:") print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки smev.write_file(result, name) con.close() return result
def pgu_send(IS, req, pre='pgu', soapaction="GetSettings", url=r"pgu/RequestAllowanceServiceSOAP256.ashx"): '''Получает ответ от сервиса ПГУ req: строка запроса pre: необязательный, для образования имени adr: адрес сервиса (необяз., по умолчанию service_adr) port: порт (необяз., по умолчанию =service_port) ответ сервера в строке или None в случае ошибки''' url = IS['url'] + url # сохранить запрос smev.write_file(req, soapaction, pre) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": soapaction } try: con.request("POST", url, req.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу %s возникли ошибки:" % soapaction) print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части if smev.write_file(result, soapaction, pre) > 0: result = None return result
def service_409(req, IS, name='409'): '''Получает ответ от 409 сервиса, подставляет текущую дату в исходный файл. req: строка запроса (обязательный,в нем меняется время, наименование ИС, КОД, ОКТМО) numer: (обязательный, номер для образования имени) IS: обязательный, словарь. Наименование ИС, мнемоника, ОКТМО ответ сервера в строке или None в случае ошибки ''' # проводим замены s = smev.change(req, IS) # сохранить запрос smev.write_file(s, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://sum-soc-help.skmv.rstyle.com/SumSocHelpService/SumSocHelpRequestMessage" } try: con.request("POST", IS['url'] + "SMEV/SocPayments256.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') smev.write_file(result, name) status = parseString(result).getElementsByTagName( 'smev:Status')[0].firstChild.nodeValue except: Type, Value, Trace = sys.exc_info() print( "Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:" ) print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части if status == u"ACCEPT": # нашли что статус ACCEPT # получение guid # сохранить ответ for node in parseString(result).getElementsByTagName( 'smev:RequestIdRef'): guid = node.childNodes[0].nodeValue #guid = guid.encode('utf8') s = open(r"Шаблоны/409-Ping.xml", "r", encoding="utf8").read() # проводим замены s = smev.change(s, IS) # и меняем GUID s = s.replace(r"#RequestIdRef#", guid) s = s.replace(r"#OriginRequestIdRef#", guid) # сохранить запрос smev.write_file(s, name) # пытаемся отправить 2-ю часть headers = { "Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://sum-soc-help.skmv.rstyle.com/SumSocHelpService/SumSocHelpRequestDataMessage" } try: con.request("POST", IS['url'] + "SMEV/SocPayments256.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print( "Не удалось обратится к методу Request (2-я часть запроса), возникли ошибки:" ) print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # сохранить ответ smev.write_file(result, name) # если не нашли статус ACCEPT, то сразу попадаем сюда con.close() return result
def service_409(req, IS, name='409'): '''Получает ответ от 409 сервиса, подставляет текущую дату в исходный файл. req: строка запроса (обязательный,в нем меняется время, наименование ИС, КОД, ОКТМО) numer: (обязательный, номер для образования имени) IS: обязательный, словарь. Наименование ИС, мнемоника, ОКТМО ответ сервера в строке или None в случае ошибки ''' # проводим замены s = smev.change(req, IS) # сохранить запрос smev.write_file(s, name) # соединяется с веб-сервисом con = http.client.HTTPConnection(IS['adr'], IS['port']) # пытаемся отправить 1-ю часть и получить guid headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://sum-soc-help.skmv.rstyle.com/SumSocHelpService/SumSocHelpRequestMessage"} try: con.request("POST", IS['url']+"SMEV/SocPayments256.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') smev.write_file(result, name) status = parseString(result).getElementsByTagName('smev:Status')[0].firstChild.nodeValue except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу Request (1-я часть запроса), возникли ошибки:") print("Тип:", Type, "Значение:", Value) print("Выполнение будет продолжено") result = None else: # проверим, нет ли ошибки в 1-й части if status == u"ACCEPT": # нашли что статус ACCEPT # получение guid # сохранить ответ for node in parseString(result).getElementsByTagName('smev:RequestIdRef'): guid = node.childNodes[0].nodeValue #guid = guid.encode('utf8') s = open(r"Шаблоны/409-Ping.xml", "r", encoding="utf8").read() # проводим замены s = smev.change(s, IS) # и меняем GUID s = s.replace(r"#RequestIdRef#", guid) s = s.replace(r"#OriginRequestIdRef#", guid) # сохранить запрос smev.write_file(s,name) # пытаемся отправить 2-ю часть headers = {"Content-Type": "text/xml; charset=utf-8", "SOAPAction": "http://sum-soc-help.skmv.rstyle.com/SumSocHelpService/SumSocHelpRequestDataMessage"} try: con.request("POST", IS['url']+"SMEV/SocPayments256.ashx", s.encode('utf-8'), headers=headers) result = con.getresponse().read() result = result.decode('utf-8') except: Type, Value, Trace = sys.exc_info() print("Не удалось обратится к методу Request (2-я часть запроса), возникли ошибки:") print ("Тип:", Type, "Значение:", Value) print ("Выполнение будет продолжено") result = None else: # сохранить ответ smev.write_file(result, name) # если не нашли статус ACCEPT, то сразу попадаем сюда con.close() return result