Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2474 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Bom dia a todos,

Baixei todos os fontes hoje e estou validando o ACBrNFe_demo, estou tentando utilizar a opção Manif. Dest. - Conf. Operação em ambiente de produção e esta retornando:

Erro Interno: 0
Erro HTTP: 500

Analisei os fontes e verifiquei o seguinte:

O início do problema ocorre na procedure TDFeWebService.InicializarServico;

Ao entrar na procedure TNFeEnvEvento.DefinirURL o código define a versão do serviço através da linha:
  VerServ  := VersaoDFToDbl(FPConfiguracoesNFe.Geral.VersaoDF);  (No caso v400)

Após isso ao entrar na procedure TACBrDFe.LerServicoChaveDeParams há o seguinte código:


  LerServicoChaveDeParams( Sessao, NomeServico, VersaoAchada, URL );
  LerDeParams( FPIniParams.ReadString(Sessao, 'WSDL', ''), NomeServico, VersaoAchada, Servico );
  LerDeParams( FPIniParams.ReadString(Sessao, 'SoapAction', ''), NomeServico, VersaoAchada, SoapAction );


Ao entrar na primeira linha LerServicoChaveDeParams( Sessao, NomeServico, VersaoAchada, URL )  é feito uma tentativa para buscar a versão do evento no resource ACBrNFeServicos.res com a chave [NFe_AN_P], porém como ainda não existe a versão 4.00 em produção é retornado a primeira encontrada no caso RecepcaoEvento_1.00 = https://www.nfe.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx.

As proximas duas linhas retornam o Servico e o SoapAction vazios.

Até aqui tudo certo.

Porém ao voltar na procedure TDFeWebService.InicializarServico o código entra na proxima procedure DefinirServicoEAction;

Nela esta o seguinte:

procedure TNFeEnvEvento.DefinirServicoEAction;
begin
  if (FPConfiguracoesNFe.Geral.VersaoDF >= ve400) then
  begin
    if EstaVazio(FPServico) then
      FPServico := GetUrlWsd + 'NFeRecepcaoEvento4';
    if EstaVazio(FPSoapAction) then
      FPSoapAction := FPServico + '/nfeRecepcaoEvento';
  end
  else
  begin
    FPServico := GetUrlWsd + 'RecepcaoEvento';
    FPSoapAction := FPServico;
  end;
end;

Ai está o problema, pois a URL é da versão 1.00 achada no arquivo .res e agora é feito uma checagem pela versão configurada, sendo assim ao enviar a requisição ocorre erro.

Um pouco a frente no código também ocorre o mesmo problema pois cai na procedure TNFeWebService.InicializarServico;

procedure TNFeWebService.InicializarServico;
begin
  { Sobrescrever apenas se necessário }
  inherited InicializarServico;

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

  { Caso seja versão 4.0, deve certificar que está usando TLS1.2 }
  if FPConfiguracoesNFe.Geral.VersaoDF >= ve400 then
  begin
   // FPDFeOwner.SSL.SSLType := LT_TLSv1_2;   // Servidor da BAHIA não está funcionando com esta configuração
    FPHeaderElement := ''; //Versão 4.00 não tem o elemento <soap12:Header>
  end;

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


Só que eu não sei qual seria a melhor solução, talvez mudar a configuração FPConfiguracoesNFe.Geral.VersaoDF temporariamente? Mas acho que não seria o ideal. 

O que vocês acham? Talvez ajustando esses pontos já solucione vários tópicos que vi a respeito de erro 500.

Grato.

  • Moderadores
Postado
  Em 23/11/2017 at 12:46, CalixtoJB disse:

Ao entrar na primeira linha LerServicoChaveDeParams( Sessao, NomeServico, VersaoAchada, URL )  é feito uma tentativa para buscar a versão do evento no resource ACBrNFeServicos.res com a chave [NFe_AN_P], porém como ainda não existe a versão 4.00 em produção é retornado a primeira encontrada no caso RecepcaoEvento_1.00 = https://www.nfe.fazenda.gov.br/RecepcaoEvento/RecepcaoEvento.asmx.

Expandir  

Ainda não existe uma URL de produção para recepção de evento específica para a versão 4.00 no ambiente nacional.

Não vai funcionar até que a URL esteja disponível.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado
  Em 23/11/2017 at 22:01, BigWings disse:

Ainda não existe uma URL de produção para recepção de evento específica para a versão 4.00 no ambiente nacional.

Não vai funcionar até que a URL esteja disponível.

Expandir  

Até mesmo para homologação?

  • 5 meses depois ...
Postado

Bom dia, recentemente migramos para NFe 4.0 e tudo funcionou normalmente na emissão de NFe, e também na DistribuicaoDFe, porém quando vou enviar o evento de Confirmação é retornado Erro Interno: 0 Erro HTTP: 500 :(

Segue o log do meu Monitor:
 

16/05/2018 08:28:22 - NFe.EnviarEvento("[Evento] 
idLote=1214604
[Evento001]
chNFe=35180534274233016360550000007011431058465300
cOrgao=35
CNPJ=10945196000140
dhEvento=16/05/2018 08:28:22
tpEvento=210200
nSeqEvento=1
versaoEvento=4.00
descEvento=Confirmacao da Operacao ")
16/05/2018 08:28:22 - ERRO: 
Erro Interno: 0
Erro HTTP: 500

Pensei que seria os webservices, porém já conferi e aparentemente estão todos corretos. A parte que me intriga é funcionar com outros serviços, mas o da recepção de eventos não funcionar... 
segue anexado o meu arquivo ACBrNFeServicos.ini

Estou usando libWinCrypt, LT_TLSv1_2, cryWinCrypt, httpWinHttp e xsMsXml nas configuracoes SSL

ACBrNFeServicos.ini

  • Moderadores
Postado
  Em 16/05/2018 at 11:44, sossystem disse:

[Evento001] chNFe=35180534274233016360550000007011431058465300 cOrgao=35

Expandir  

Tente informar cOrgao = 91 para a manifestação.

Ao contrário dos outros eventos, a manifestação do destinatário é enviada ao ambiente nacional e não à SEFAZ do estado.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Postado (editado)

Mesma coisa :(

Segue log

 

16/05/2018 08:56:48 - NFe.EnviarEvento("[Evento] 
idLote=1214604
[Evento001]
chNFe=35180534274233016360550000007011431058465300
cOrgao=91
CNPJ=10945196000140
dhEvento=16/05/2018 08:28:35
tpEvento=210200
nSeqEvento=1
versaoEvento=4.00
descEvento=Confirmacao da Operacao ")
16/05/2018 08:56:49 - ERRO: 
Erro Interno: 0
Erro HTTP: 500

 

Por ser em ambiente diferente é possivel que esteja recusando entao por algum motivo especifico dos webservices AN?
Tipo cadeia de certificado, sei la? Mas não estou usando CAPICOM entao nunca instalei cadeias de certificado, meu certificado é A1

Editado por sossystem
Postado

Nao funcionou ainda nao, 
Nao testei com OpenSSL pq to com uma versao antiga dela, e também preciso que funcione para A3 igual vc

Postado

Testei com a OpenSSL e o monitor simplesmente nao dá resposta alguma (exclui o arquivo ENTNFE.txt e nao cria nenhum SAINFE.txt) e no log a mesma coisa :(

Nunca vi isso... Alguem ja viu?

Postado
  Em 18/05/2018 at 13:17, sossystem disse:

Testei com a OpenSSL e o monitor simplesmente nao dá resposta alguma (exclui o arquivo ENTNFE.txt e nao cria nenhum SAINFE.txt) e no log a mesma coisa :(

Nunca vi isso... Alguem ja viu?

Expandir  

abri um tópico aqui no fórum e resolvi meu problema la. da uma olhada e ve te ajuda em alguma coisa pro meu caso que muito parecido com o seu resolveu

  • Obrigado 1

 

 

Postado

Acho que descobri.
Antigamente o Monitor respondia o arquivo SAINFE com o mesmo sufixo que ENTNFE. Exemplo:
Arquivo ENTNFE001.txt gerava o SAINFE001.txt

Mas agora ele está respondendo apenas SAINFE.txt, mesmo quando lê um ENTNFE002.txt por exemplo

Postado

Duro que vi agora é isso mesmo que ocorre, mas nao com todos os comandos!

NFe.SetVersaoDF("4.00") faz isso, e estava me atrapalhando

  • 1 mês depois ...
  • Este tópico foi criado há 2474 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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...