Ir para conteúdo
  • Cadastre-se

dev botao

ACBrWinReqRespClass - Erro Interno: 183 - HederReq não está sendo Limpado.


HelioNeto
Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1177 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa Tarde!

Estava realizando Teste no TimeOut, seguindo este Post:

 

NFeAutorizacao_4.00=https://hom.nfe.sefaz.ms.gov.br:81/ws/NFeAutorizacao4

Quando ocorre uma exceção, Na lib = ..trunk2\Fontes\ACBrTCP\ACBrWinReqRespClass.pas

entra no  RaiseException, Não Executando o FHeaderReq.Clear :

procedure TACBrWinReqResp.Send;
var
  Ok: Boolean;
  DataToSend: AnsiString;
begin
  DoLog('Send');

  Ok := SetHeaderReq;
  if not Ok then
    raise EACBrWinReqResp.CreateFmt(ACBrStr(sErrSetHeader), [GetWinInetError(FInternalErrorCode)] );

  if EncodeDataToUTF8 then
    DataToSend := UTF8Encode(Data)
  else
    DataToSend := Data;

  Ok := SendData(DataToSend);
  if not Ok then
    raise EACBrWinReqResp.CreateFmt(ACBrStr(sErrSentData), [GetWinInetError(FInternalErrorCode)] );

  FHeaderReq.Clear; //<== Não Executa o Clear.
end;

Desta forma, descobri que ao, ativar o Servidor de Backup.

Trocando o que é necessário no ACBrNFe e a propriedade

FobjNFe.Configuracoes.Geral.FormaEmissao = teSVCRS; //Para o Mato Grosso do Sul.

Ao Enviar retorna a Mensagem do "Falha Enviando a Requisição. Erro: 183 -"

Observei que o Header estava Concatenando a URL antiga com a Nova

'Host: nfe-homologacao.svrs.rs.gov.br'#$D#$A'
Host: hom.nfe.sefaz.ms.gov.br:81'#$D#$A'
Content-Type: application/soap+xml; charset=utf-8; charset=utf-8'#$D#$A'
Accept-Charset: utf-8'#$D#$A'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/NFeAutorizacao4/nfeAutorizacaoLote"'#$D#$A

Quando fiz esse ajuste abaixo funcionou perfeitamente e parou de ocorrer o erro: "Falha Enviando a Requisição. Erro: 183 -"

procedure TACBrWinReqResp.InitExecute;
begin
  CloseConnection;
  FHeaderReq.Clear;	//Inclusão desta Linha.
  FHeaderResp.Clear;
  FRedirections := 0;
end;

Fiz os Testes aqui e Funcionou Certinho.

para testar precisa trocar a propriedade:

ACBrNFe.Configuracoes.Geral.SSLHttpLib = httpWinHttp;

O OpenSSL está funcionando Perfeitamente.

Quem puder analisar, para corrigir, temos clientes configurados com o httpWinHttp e não queriamos ter de trocar todos para httpOpenSSL

Desde já agradeço!

  • Obrigado 2
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Muito obrigado pela analise e sugestão (proglemas como esse são realmente difíceis de pegar)

Poderia por favor anexar as Units modificadas ?

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Fundadores
  • Solution

@HelioNeto,

Eu creio que essa modificação, poderia causar problemas em rotinas que manipulam o Header, antes de chamar TACBrWinReqResp.Execute...

Por favor tente com a Unit modificada em anexo...  Observe que ela limpa o Header em TDFeHttpWinHttp.ConfigConnection;  
Note ainda, que o mesmo já é feito em: TDFeHttpOpenSSL.ConfigConnection

 

 

ACBrDFeHttpWinApi.pas

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.