Ir para conteúdo
  • Cadastre-se

Marcelo Wanderley

Membros
  • Total de ítens

    24
  • Registro em

  • Última visita

Tudo que Marcelo Wanderley postou

  1. Antonio, segue em anexo o fontes testeACBR.zip
  2. Pode ser ref.refType('string') também. faltava declarar como tipo para declarar na lib.
  3. Pessoal, consegui. Segue abaixo a solução funcionando. Obrigado a todos pela atenção. const path = require('path'); const ffi = require('ffi-napi'); const ref = require('ref-napi'); const pathDllACBrLibCEP = path.join(__dirname, 'ACBrCEP64.dll') var eArqConfig = path.join(__dirname, 'ACBrLib.ini'); var eChaveCrypt = ''; var tint = ref.refType('int'); var tchar = ref.refType('char *'); var lib = ffi.Library(pathDllACBrLibCEP, { CEP_Inicializar: ['int', ['string', 'string']], CEP_Finalizar: ['int', []], CEP_BuscarPorCEP: ['int', ['string', tchar, tint]], }) try { var inicio = 2; const buflength = 256; let aloc_sResposta = Buffer.alloc(buflength); let aloc_esTamanho = ref.alloc('int', buflength); inicio = lib.CEP_Inicializar(eArqConfig, eChaveCrypt); console.log(`iniciou >>>>>>> ${inicio}`); inicio = lib.CEP_BuscarPorCEP('55612-450', aloc_sResposta, aloc_esTamanho); console.log(`ultmio retorno >>>>>>>> ${inicio}`); console.log(`Retorno: `, aloc_sResposta.toString()); inicio = lib.CEP_Finalizar(); console.log(`finalizar >>>>>>>> ${inicio}`); } catch (error) { console.error('An error occurred:', error) }
  4. Ainda sem sucesso.
  5. Testamos em outra máquina e ocorre o mesmo problema
  6. O que significa Access violation? 16/06/23 18:20:54:698 - SetRetorno(-10, Access violation)
  7. Em javascript e node não necessita do @ Aumentei e nada. Coloquei 512 Vou tentar em outra maquina.
  8. Log 16/06/23 18:20:54:063 - TLibCEPConfig.AplicarConfiguracoes: C:\Users\sistemas\Desktop\Projeto\qualinfo\testeACBR\ACBrLib.ini 16/06/23 18:20:54:066 - Travar 16/06/23 18:20:54:067 - TLibCEPConfig.AplicarConfiguracoes - Feito 16/06/23 18:20:54:068 - Destravar 16/06/23 18:20:54:070 - TLibCEPConfig.Ler - Feito 16/06/23 18:20:54:071 - Destravar 16/06/23 18:20:54:164 - LIB_Inicializar( C:\Users\sistemas\Desktop\Projeto\qualinfo\testeACBR\ACBrLib.ini, ) 16/06/23 18:20:54:258 - ACBrLibCEP Demo - 0.0.1.135 16/06/23 18:20:54:350 - CEP_BuscarPorCEP( 55612450 ) 16/06/23 18:20:54:352 - Travar 16/06/23 18:20:54:696 - Destravar 16/06/23 18:20:54:698 - SetRetorno(-10, Access violation) 16/06/23 18:20:54:701 - LIB_Finalizar 16/06/23 18:20:54:702 - Finalizar
  9. Fizemos isso também
  10. Olá Renato obrigado pela atenção. Estou fazendo assim. const path = require('path'); const ffi = require('ffi-napi'); const ref = require('ref-napi'); const pathDllACBrLibCEP = path.join(__dirname, 'ACBrCEP64.dll') var eArqConfig = path.join(__dirname, 'config.ini'); var eChaveCrypt = ''; var lib = ffi.Library(pathDllACBrLibCEP, { CEP_Inicializar: ['int', ['string', 'string']], CEP_Finalizar: ['int', []], CEP_BuscarPorCEP: ['int', ['string', 'string', 'int']], }) try { var inicio = 2; const buflength = 256; let aloc_sResposta = Buffer.alloc(buflength); let aloc_esTamanho = ref.alloc('int', buflength); inicio = lib.CEP_Inicializar(eArqConfig, eChaveCrypt); console.log(`iniciou >>>>>>> ${inicio}`); inicio = lib.CEP_BuscarPorCEP('55612450', aloc_sResposta, aloc_esTamanho); console.log(`ultmio retorno >>>>>>>> ${inicio}`); console.log(`Retorno: `, aloc_sResposta.toString()); inicio = lib.CEP_Finalizar(); console.log(`finalizar >>>>>>>> ${inicio}`); } catch (error) { console.error('An error occurred:', error) } Obrigado pela atenção Antonio. Não entendo porque não funciona conosco
  11. consegui fazer carregar o OPENssl, porém agora esta mostrando outro erro. Segue o log abaixo. 16/06/23 17:26:08:629 - TLibCEPConfig.AplicarConfiguracoes: C:\Users\sistemas\Desktop\Projeto\qualinfo\testeACBR\config.ini 16/06/23 17:26:08:629 - Travar 16/06/23 17:26:08:638 - TLibCEPConfig.AplicarConfiguracoes - Feito 16/06/23 17:26:08:638 - Destravar 16/06/23 17:26:08:646 - TLibCEPConfig.Ler - Feito 16/06/23 17:26:08:650 - Destravar 16/06/23 17:26:08:650 - LIB_Inicializar( C:\Users\sistemas\Desktop\Projeto\qualinfo\testeACBR\config.ini, ) 16/06/23 17:26:08:654 - ACBrLibCEP Demo - 0.0.1.134 16/06/23 17:26:08:662 - CEP_BuscarPorCEP( 55612450 ) 16/06/23 17:26:08:662 - Travar 16/06/23 17:26:09:201 - Destravar 16/06/23 17:26:09:201 - SetRetorno(-10, Access violation) 16/06/23 17:26:09:201 - LIB_Finalizar 16/06/23 17:26:09:209 - Finalizar
  12. É necessário estar consegue testar usando x64?
  13. A nossa aplicação é x64 Testamos x86 e um erro é mostrado como abaixo. ERROR (lunar/33764): Dynamic Linking Error: Win32 error 193 err: { "type": "Error", "message": "Dynamic Linking Error: Win32 error 193", "stack": Error: Dynamic Linking Error: Win32 error 193
  14. Log abaixo. A libssl-1_1-x64.dll já esta na mesma pasta do ACBrCEP64.dll. Onde deve ser instalado? 16/06/23 11:56:11:284 - LIB_Finalizar 16/06/23 11:56:11:287 - Finalizar 16/06/23 11:57:38:411 - TLibCEPConfig.AplicarConfiguracoes: C:\Users\marce\Desktop\Projeto\Lunar\software\providers\AcbrProvider\config.ini 16/06/23 11:57:38:414 - Travar 16/06/23 11:57:38:416 - TLibCEPConfig.AplicarConfiguracoes - Feito 16/06/23 11:57:38:418 - Destravar 16/06/23 11:57:38:419 - TLibCEPConfig.Ler - Feito 16/06/23 11:57:38:421 - Destravar 16/06/23 11:57:38:424 - LIB_Inicializar( C:\Users\marce\Desktop\Projeto\Lunar\software\providers\AcbrProvider\config.ini, ) 16/06/23 11:57:38:426 - ACBrLibCEP Demo - 0.0.1.134 16/06/23 11:57:38:429 - CEP_BuscarPorCEP( 55612-450 ) 16/06/23 11:57:38:431 - Travar 16/06/23 11:57:38:464 - Destravar 16/06/23 11:57:38:466 - SetRetorno(-10, Erro HTTP: 500 Socket Error: 10091 Error loading OpenSSL lib URL: https://brasilapi.com.br/api/cep/v2/55612450 Resposta HTTP: ) 16/06/23 11:57:38:469 - LIB_Finalizar 16/06/23 11:57:38:472 - Finalizar
  15. Coloquei a Dep na pasta e ainda não funcionou. Como faço para emitir log ? Trabalhamos com Nodejs usamos a biblioteca ffi-napi para encapsular dll em nossas aplicações. Ela tem suporte a Cdecl ou StdCall. Tentamos utilizar até a versão da Lib MT e nada.
  16. Como faço para ele gerar log? Ele não esta gerando.
  17. Olá Carlos, Obrigado pela atenção. Sim, configuramos o config.ini [CEP] WebService=15 ChaveAcesso= Usuario= Senha= PesquisarIBGE=0 Estamos lendo a documentação, já faz alguns dias que estamos tentando fazer funcionar e não conseguimos. Acreditamos que a lib não chega a consultar no webservices, pois a resposta -10 é rapidamente exibida. Já tentamos com todos os webservices. Poderia nos auxiliar.
  18. Estamos usando essa versão StdCall
  19. Sempre retornar -10 Não consigo imaginar o que posso fazer para funcionar. import * as ffi from 'ffi-napi'; import * as ref from 'ref-napi'; import * as path from 'path'; export default class Services { // @ts-ignore private lib: any constructor() { const dllPath = path.join(__dirname, 'ACBrCEP64.dll'); const stringPtr = ref.refType(ref.types.CString); this.lib = ffi.Library(dllPath, { 'CEP_Inicializar': ['int', ['string']], 'CEP_Finalizar': ['int', []], 'CEP_BuscarPorCEP': ['int', ['string', stringPtr, 'int']], }); } public async CEP_BuscarPorCEP () { await this.lib.CEP_Inicializar(path.join(__dirname, 'config.ini')) const buffer = Buffer.alloc(256); const cep = '55612450'; const ret = this.lib.CEP_BuscarPorCEP(cep, buffer, buffer.length); this.lib.CEP_Finalizar() if (ret === 0) { const sResposta = ref.readCString(buffer, 0); return sResposta; } else { throw new Error('CEP_BuscarPorCEP failed with error code ' + ret); } } }
  20. Estamos usando a versão single thread
  21. Sem sucesso. Fiz uma atualização no código e mesmo assim nada. Código atualizado abaixo. import * as ffi from 'ffi-napi'; import * as ref from 'ref-napi'; import * as path from 'path'; export default class Services { // @ts-ignore private lib: any constructor() { const dllPath = path.join(__dirname, 'ACBrCEP64.dll'); const configPath = path.join(__dirname, 'config.ini'); const stringPtr = ref.refType(ref.types.CString); this.lib = ffi.Library(dllPath, { 'CEP_Inicializar': ['int', ['string']], 'CEP_BuscarPorCEP': ['int', ['string', stringPtr, 'int']], }); this.lib.CEP_Inicializar(configPath) } public async CEP_BuscarPorCEP () { // Criar um buffer para armazenar a resposta. const buffer = Buffer.alloc(256); const cep = '55612450'; const ret = this.lib.CEP_BuscarPorCEP(cep, buffer, buffer.length); // Verificar se a chamada foi bem sucedida. if (ret === 0) { // Converter o buffer de resposta em uma string e imprimir no console. const sResposta = ref.readCString(buffer, 0); console.log(sResposta); return sResposta; } else { throw new Error('CEP_BuscarPorCEP failed with error code ' + ret); } // return __dirname } }
  22. Estamos usando o config.ini que a própria lib criou.
  23. Olá a todos, espero que estejam bem. Estamos enfrentando alguns problemas ao tentar utilizar a biblioteca (Lib) CEP em nosso projeto e ainda não conseguimos utilizá-la corretamente. Já utilizamos outras DLLs em nosso projeto com sucesso, mas estamos enfrentando dificuldades ao tentar testar o da ACBr. Se alguém puder oferecer ajuda, ficarei imensamente grato. A inicialização é feita, porém no momento da consulta uma mensagem é mostrada -10 config.ini [CEP] WebService=wsRepublicaVirtual ChaveAcesso= Usuario= Senha= PesquisarIBGE=0 -10 Indica que houve erro ao consultar pelo numero do CEP no ACBrCEP. const ffi = require('ffi-napi'); const path = require('path'); export default class Services { // @ts-ignore private lib: any constructor() { const dllPath = path.join(__dirname, 'ACBrCEP64.dll'); const configPath = path.join(__dirname, 'config.ini'); this.lib = ffi.Library(dllPath, { 'CEP_Inicializar': ['int', ['string']], 'CEP_BuscarPorCEP': ['int', ['string']], }); this.lib.CEP_Inicializar(configPath) } public async CEP_BuscarPorCEP () { return this.lib.CEP_BuscarPorCEP('55612-450') // return __dirname } } Em node nós utilizamos
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...