Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #5
0
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
Example #6
0
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
Example #7
0
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
Example #8
0
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
Example #9
0
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
Example #10
0
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
Example #11
0
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
Example #12
0
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
Example #13
0
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