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...
The popup will be closed in 10 segundos...