Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFe.WebServices.ConsultaCadastro.Executar - Access Violation


Ver Solução Respondido por IgorAcertSoft,

Recommended Posts

  • Membros Pro
Postado

Boa Tarde,
Estou com problema no ACBrNFe.WebServices.ConsultaCadastro.Executa, ao chamar a fução ele retorna access violation, atualizei o ACBr não resolveu, e continua com esse erro ao tentarmos realizar uma consulta de cnpj. Isso ocorre para cnpj de qualquer estado.

  • Membros Pro
Postado

debugando o codigo abaixo notei que no inherited ele chama ele mesmo e ali fica ate dar o access violation
procedure TNFeWebService.InicializarServico;
begin
  { Sobrescrever apenas se necessário }
  inherited InicializarServico;

  FOldSSLType := FPDFeOwner.SSL.SSLType;
  FOldHeaderElement := FPHeaderElement;

  if FPConfiguracoesNFe.Geral.VersaoDF >= ve400 then
    FPHeaderElement := ''; //Versão 4.00 não tem o elemento <soap12:Header>

  TACBrNFe(FPDFeOwner).SetStatus(FPStatus);
end;

 

  • Moderadores
Postado
18 horas atrás, IgorAcertSoft disse:

Boa Tarde,
Estou com problema no ACBrNFe.WebServices.ConsultaCadastro.Executa, ao chamar a fução ele retorna access violation, atualizei o ACBr não resolveu, e continua com esse erro ao tentarmos realizar uma consulta de cnpj. Isso ocorre para cnpj de qualquer estado.

Mas funcionava e parou ou está usando só agora.
pega o exemplo do svn e testa com ele configurando os dados do certificado que vai usar

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Moderadores
Postado

Tópico movido para a área do ACBr Pro, para que o SLA de respostas seja considerado

1 hora atrás, IgorAcertSoft disse:

Funcionava e simplesmente parou, no exemplo deu a mesma coisa

 

possibilidades seria questão de alguma dll´s desatualizada, foi a partir de alguma update do svn do ACBR ?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Consultores
Postado

Bom dia!

Por favor, pode fornecer detalhes como o a UF configurada no componente e o CNPJ consultado para que possamos realizar um teste em nosso ambiente?

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

procedure ConsultaCadastroNFe(UF, Documento : String);
var lRetornoConsultaCadastroNFe  :TRetornoConsultaCadastro;
   NumeroInteiro: Integer;
begin
  if Trim(UF) = '' then
    if not(InputQuery('WebServices Consulta Cadastro ', 'UF do Documento a ser Consultado:', UF)) then
      exit;

  if Trim(Documento) = '' then
    if not(InputQuery('WebServices Consulta Cadastro ', 'Documento(CPF/CNPJ)', Documento)) then
      exit;

  Documento :=  Trim(OnlyNumber(Documento));

  // descomentei para teste
  Dados.ACBRNFE.WebServices.ConsultaCadastro.UF := UF;

  if Length(Documento) > 11 then
     Dados.ACBrNFE.WebServices.ConsultaCadastro.CNPJ := Documento
  else
     Dados.ACBrNFE.WebServices.ConsultaCadastro.CPF := Documento;

  Dados.ACBrNFE.WebServices.ConsultaCadastro.Executar;
 

 

  • Consultores
Postado

Boa tarde!

5 minutes ago, IgorAcertSoft said:

realizei os testes pelo o exemplo do acbr, meus componentes estao na versão 36965 e apresentou o seguinte erro

image.png

A URL da consulta termina em cadconsultacadastro2.asmx

Conferindo no arquivo ACBrNFeServicos.ini existe a cadconsultacadastro4.asmx

Por favor, confira se definiu corretamente a configuração VersaoDF.

Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membros Pro
Postado

certo so nao havia configurado a versaoDf correta no exemplo, mas no meu caso especifico o erro ocorre nesse trecho

debugando o codigo abaixo notei que no inherited ele chama ele mesmo e ali fica ate dar o access violation
procedure TNFeWebService.InicializarServico;
begin
  { Sobrescrever apenas se necessário }
  inherited InicializarServico;

  FOldSSLType := FPDFeOwner.SSL.SSLType;
  FOldHeaderElement := FPHeaderElement;

  if FPConfiguracoesNFe.Geral.VersaoDF >= ve400 then
    FPHeaderElement := ''; //Versão 4.00 não tem o elemento <soap12:Header>

  TACBrNFe(FPDFeOwner).SetStatus(FPStatus);
end;

no exemplo apresenta essa mensagem
 

image.thumb.png.d440b76d738ac25651c7cfa27c582c74.png

  • Consultores
Postado

@IgorAcertSoft,

Essa procedure InicializarServico é chamada por todos os serviços da NF-e, tais como envio, consulta, envio de eventos, etc.

Se ela realmente estivesse com AV teríamos uma enxurrada de postagens no fórum e no Discord.

Se no programa exemplo você teve esse retorno ao consultar isso significa que a procedure em questão executou a sua tarefa.

Sugiro você revisar a sua aplicação que deve estar destruindo ou deixando de criar algo que a procedure exige.

Essa procedure foi alterada com o surgimento da versão 4 da NF-e que foi em 01/08/2017 (ambiente de homologação), portanto faz mais de 7 anos que ela tem esse código.

Você diz que o inherited chama ele mesmo, na verdade ele chama o InicializarServico que esta na unit ACBrDFeWebService, veja:

procedure TDFeWebService.InicializarServico;
begin
  { Sobrescrever apenas se necessário }
  Clear;

  DefinirURL;
  if URL = '' then
    GerarException( ACBrStr('URL não definida para: ') + ClassName);

  DefinirServicoEAction;
  if Servico = '' then
    GerarException( ACBrStr('Servico não definido para: ')+ ClassName);

  if SoapAction = '' then
    GerarException( ACBrStr('SoapAction não definido para: ') + ClassName);

  // Alguns provedores de NFS-e não possui um SoapAction para os seus serviços,
  // sendo assim é atribuido o caracter "*" no arquivo INI desses provedores.
  if SoapAction = '*' then
    FPSoapAction := '';
end;

Depois de executar o código acima ele volta e termina de executar o código da procedure TNFeWebService.InicializarServico; que esta na unit ACBrNFeWebServices.

Dito isso, reforço o meu pedido: revise a sua aplicação.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Membros Pro
Postado (editado)

sim vou analizar os dois e ver o que pode estar gerando o erro, obrigado por enquanto, posto aqui assim que descobrir a causa

Editado por IgorAcertSoft
  • Curtir 2
  • Membros Pro
  • Solution
Postado (editado)

encontrei o problema, nao estava carregando a pasta schema, ajustei o retorno e voltou a funcionar. 
podemos encerrar o topico.
obrigado a todos pela paciencia e auxilio.

Editado por IgorAcertSoft
  • Curtir 2
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...