mkyx Posted July 20, 2022 Report Share Posted July 20, 2022 Boa noite, pessoal Por que será que a rotina abaixo, de buscar os dados do cnpj na internet, não funciona no windows 7, e dá o erro? Quando não lê, emite a mensagem: "Não conseguiu enviar solicitação para requisição dos dados do CNPJ" FUNCTION PEGA_CNPJ(CPF_C,OBJ01_C,FAN_C,OBJ02_C,NE_C,OBJ03_C,CE_C,OBJ04_C,EN_C,OBJ05_C,NU_C,OBJ06_C,CPL_C,OBJ07_C,BA_C,OBJ08_C,CD_C,OBJ09_C,UF_C,OBJ10_C,DTN_C,OBJ11_C,TEL_C,OBJ12_C,EM_C,OBJ13_C,IEST_C,OBJ14_C,SIM_NAC,OBJ15_C) Local oServerWS, cUrl, aArray, oCnpj:= TIRA(CPF_C,"Z") IF LEN(oCnpj)#14 MSGINFO("Este botão só busca dados de pessoal jurídica!") return .t. endif cUrl:= "https://publica.cnpj.ws/cnpj/"+Alltrim(oCnpj) Try oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.5.0' ) Catch oError try oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.6.0' ) catch oError try oServerWS := CreateObject("Microsoft.XMLHTTP") catch oError ? e:Description return nil end END end TRY oServerWS:open('GET', cUrl, .f.) oServerWS:setRequestHeader('Content-Type' , 'text/xml; charset=utf-8') // Obtém ou define o valor de cabeçalho de Content-type HTTP. oServerWS:send() CATCH ? "Não conseguiu enviar solicitação para requisição dos dados do CNPJ" return .t. END IF oServerWS:Status != 200 // OK MsgStop( Alltrim(STR(oServerWS:Status)) +" - "+ oServerWS:StatusText , "Erro") RETURN NIL ENDIF WHILE oServerWS:readyState != 4 oServerWS:waitForResponse(1000) END txt:= oServerWS:responseText Arq_1:=ALLTRIM(txt) cBat:=CURDRIVE()+":\"+CURDIR()+"\LEITURA_CNPJ.TXT" nHandle := FCreate( cBat ) FWrite( nHandle, Arq_1 ,LEN(Arq_1) ) FClose( nHandle ) ** a partir daqui o conteudo da variavel arq_1, é tratada e separada os dados. ....... Quote Link to comment Share on other sites More sharing options...
infosys2 Posted July 20, 2022 Report Share Posted July 20, 2022 11 horas atrás, mkyx disse: oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.5.0' ) oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.6.0' ) oServerWS := CreateObject("Microsoft.XMLHTTP") Windows 7 nao tem este recurso tentei varias veses inclusive instale os pack mais atualuizados e nao deu certo. oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.5.0' ) oServerWS := CreateObject( 'MSXML2.ServerXMLHTTP.6.0' ) oServerWS := CreateObject("Microsoft.XMLHTTP") Quote Link to comment Share on other sites More sharing options...
kapiaba Posted July 20, 2022 Report Share Posted July 20, 2022 // teste agora: #include "FiveWin.ch" FUNCTION Main() LOCAL cOnde, cCnpj, cNome, cEndereco, cNro, cComplemento, cBairro, cCidade, ; cEstado, cCep, cTelefone cOnde := SPACE(10) // CNPJ: 42.905.527/0001-05 - 42905527000105 cCnpj := "42905527000105" cNome := SPACE(50) cEndereco := SPACE(40) cNro := SPACE(10) cComplemento := SPACE(10) cBairro := SPACE(20) cCidade := SPACE(30) cEstado := SPACE(02) cCep := SPACE(08) cTelefone := SPACE(17) GetCNPJ( cOnde, cCnpj, cNome, cEndereco, cNro, cComplemento, cBairro, cCidade, cEstado, cCep, cTelefone ) RETURN NIL FUNCTION GetCNPJ( cOnde, cCnpj, cNome, cEndereco, cNro, cComplemento, cBairro, cCidade, cEstado, cCep, cTelefone ) LOCAL oServerWS, cUrl, aArray, x1, erro, oADODBStream, cTXT, cRet LOCAL nHandle, Arq_1 IF Len( AllTrim( cCnpj ) ) < 14 MsgInfo( "Somente Pessoa Juridica para consultar os dados na Receita !!!", "Atenção " ) RETURN( .T. ) ENDIF // cUrl := "https://www.receitaws.com.br/v1/cnpj/" + cCnpj cUrl:= "https://publica.cnpj.ws/cnpj/" + cCnpj #ifdef __XHARBOUR__ // PERFEITO COM XHARBOUR( I Like ) Try Try oServerWS := CreateObject( 'MSXML2.XMLHTTP' ) Catch oServerWS := CreateObject( 'Microsoft.XMLHTTP' ) End Catch MsgInfo( 'Erro na Criação do Serviço' ) RETURN NIL End #else // PERFEITO COM HARBOUR. ( no Like. kkkkk ) Try Try oServerWS := win_OleCreateObject( 'MSXML2.XMLHTTP' ) Catch oServerWS := win_OleCreateObject( 'Microsoft.XMLHTTP' ) End Catch MsgInfo( 'Erro na Criação do Serviço! Com Harbour', 'Atenção!' ) RETURN NIL End #endif TRY oServerWS:open('GET', cUrl, .f.) // Obtém ou define o valor de cabeçalho de Content-type HTTP. oServerWS:setRequestHeader('Content-Type' , 'text/xml; charset=utf-8') oServerWS:send() CATCH ? "Não conseguiu enviar solicitação para requisição dos dados do CNPJ" RETURN NIL END IF oServerWS:STATUS != 200 MsgStop( AllTrim( Str( oServerWS:Status ) ) + " - " + oServerWS:StatusText, "Erro" ) RETURN NIL ENDIF WHILE oServerWS:readyState != 4 SYSREFRESH() oServerWS:WaitForResponse( 1000 ) END x1 := hb_jsonDecode( oServerWS:responseText, @aArray ) cTXT := oServerWS:responseText IF aArray == nil MsgStop( "Erro ao retornar os dados. Tente novamente." ) RETURN NIL ENDIF Arq_1 := ALLTRIM( cTXT ) cRet := CURDRIVE()+":\"+CURDIR()+"\CNPJ.TXT" nHandle := FCreate( cRet ) FWrite( nHandle, Arq_1 ,LEN(Arq_1) ) FClose( nHandle ) ** a partir daqui o conteudo da variavel arq_1, é tratada e separada os dados. // Complete o resto e poste aqui para eu ver por favor. RETURN NIL // FIM DOM PROGRAMA - By kapiabafwh@gmail.com Retorno: /* {"cnpj_raiz":"42905527","razao_social":"STAHLCAP GESTAO DE ATIVOS E COMERCIAL UNIPESSOAL LTDA","capital_social":"2000.00","responsavel_federativo":"","atualizado_em":"2022-07-09T03:00:00.000Z","porte":{"id":"01","descricao":"Micro Empresa"},"natureza_juridica":{"id":"2062","descricao":"Sociedade Empresária Limitada"},"qualificacao_do_responsavel":{"id":49,"descricao":"Sócio-Administrador "},"socios":[{"cpf_cnpj_socio":"***129158**","nome":"ANTONIO JOSE TEIXEIRA REDE","tipo":"Pessoa Física","data_entrada":"2021-07-28","cpf_representante_legal":"***000000**","nome_representante":null,"faixa_etaria":"61 a 70 anos","atualizado_em":"2022-07-09T03:00:00.000Z","pais_id":"1058","qualificacao_socio":{"id":49,"descricao":"Sócio-Administrador "},"qualificacao_representante":null}],"simples":{"simples":"Sim","data_opcao_simples":"2021-07-28","data_exclusao_simples":null,"mei":"Não","data_opcao_mei":null,"data_exclusao_mei":null,"atualizado_em":"2022-07-09T03:00:00.000Z"},"estabelecimento":{"cnpj":"42905527000105","atividades_secundarias":[],"cnpj_raiz":"42905527","cnpj_ordem":"0001","cnpj_digito_verificador":"05","tipo":"Matriz","nome_fantasia":"STAHLCAP","situacao_cadastral":"Ativa","data_situacao_cadastral":"2021-07-28","data_inicio_atividade":"2021-07-28","nome_cidade_exterior":null,"tipo_logradouro":"RUA","logradouro":"PEDROSO DE CAMARGO","numero":"141","complemento":null,"bairro":"CHACARA SANTO ANTONIO (ZONA SUL)","cep":"04717010","ddd1":"11","telefone1":"51810378","ddd2":null,"telefone2":null,"ddd_fax":"11","fax":"51810378","email":"ANTONIOREDE@TERRA.COM.BR","situacao_especial":null,"data_situacao_especial":null,"atualizado_em":"2022-07-09T03:00:00.000Z","atividade_principal":{"id":"7740300","secao":"N","divisao":"77","grupo":"77.4","classe":"77.40-3","subclasse":"7740-3/00","descricao":"Gestão de ativos intangíveis não financeiros","contribuinte":false},"pais":{"id":"1058","iso2":"BR","iso3":"BRA","nome":"Brasil","comex_id":"105"},"estado":{"id":26,"nome":"São Paulo","sigla":"SP","ibge_id":35},"cidade":{"id":3832,"nome":"São Paulo","ibge_id":3550308,"siafi_id":"7107"},"motivo_situacao_cadastral":null,"inscricoes_estaduais":[]}} */ Regards, saludos. Quote Link to comment Share on other sites More sharing options...
Eric.Developer Posted July 23, 2022 Report Share Posted July 23, 2022 Se alguém* precisar de consultoria para acertar esta incompatibilidade OLE no Windows 7, etc... meus contatos: e-mail/Messenger Vídeo da minha rotina semelhante com OLE, funcionando no Windows 7.... Windows 11 * serviço exclusivo para... Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.