PyNFe icon indicating copy to clipboard operation
PyNFe copied to clipboard

Max retries exceeded - cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx

Open rodrigodellajustina opened this issue 2 years ago • 3 comments

Ao realizar uma consulta de cadastro de um CNPJ do estado de Alagoas está acontecendo esse retorno

HTTPSConnectionPool(host='nfe.https', port=443): Max retries exceeded with url: //cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x000001C181BB6380>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))

rodrigodellajustina avatar Jun 23 '23 12:06 rodrigodellajustina

Alterado o comunicacao.py

 def consulta_cadastro(self, modelo, cnpj):
        """
        Consulta de cadastro
        :param modelo: Modelo da nota
        :param cnpj: CNPJ da empresa
        :return:
        """
        # UF que utilizam a SVRS - Sefaz Virtual do RS: Para serviço de Consulta Cadastro: AC, RN, PB, SC 
        lista_svrs = ['AC', 'RN', 'PB', 'SC', 'PA', 'CE']

        # RS implementa um método diferente na consulta de cadastro
        # usa o mesmo url para produção e homologação
        # não tem url para NFCE
        if self.uf.upper() == 'RS':
            url = NFE['RS']['CADASTRO']
        elif self.uf.upper() in ('AL', 'ES', 'RJ'):
            url = 'https://cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx'
        elif self.uf.upper() in lista_svrs:
            url = NFE['SVRS']['CADASTRO']
        elif self.uf.upper() == 'SVC-RS':
            url = NFE['SVC-RS']['CADASTRO']
        else:
            url = self._get_url(modelo=modelo, consulta='CADASTRO')

        raiz = etree.Element('ConsCad', versao='2.00', xmlns=NAMESPACE_NFE)
        info = etree.SubElement(raiz, 'infCons')
        etree.SubElement(info, 'xServ').text = 'CONS-CAD'
        etree.SubElement(info, 'UF').text = self.uf.upper()
        etree.SubElement(info, 'CNPJ').text = cnpj
        # etree.SubElement(info, 'CPF').text = cpf

        # Monta XML para envio da requisição
        xml = self._construir_xml_soap('CadConsultaCadastro4', raiz)
        # Chama método que efetua a requisição POST no servidor SOAP
        return self._post(url, xml)

Deixei fixo para esses estados

        elif self.uf.upper() in ('AL', 'ES', 'RJ'):
            url = 'https://cad.svrs.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro4.asmx'

rodrigodellajustina avatar Jun 23 '23 12:06 rodrigodellajustina

@rodrigodellajustina seria muito bom fazer um pull request pra isso.

leogregianin avatar Nov 06 '23 11:11 leogregianin

@rodrigodellajustina tem planos de abrir um PR para isso? Iria ajudar bastante outros que utilizam esse endpoint...

felps-dev avatar Apr 26 '24 03:04 felps-dev

Corrigido na versão 0.5.1

leogregianin avatar Jan 17 '25 17:01 leogregianin