Ir para conteúdo
  • Cadastre-se

dev botao

NFC-e com numero grande de itens retornando erro 'Bad Request - Request Too Long'


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

Recommended Posts

Boa tarde Pessoal,

 

Boa tarde Pessoal,

   Atualizei o ACBr hoje e verifiquei a questão do refactoring nas Units de ACBrDFeSSL e suas derivadas.. fiz as alterações necessárias e iniciei os testes...

Utilizando a configuração:

SSLCryptLib := cryWinCrypt;
SSLHttpLib := httpWinHttp;
SSLXmlSignLib := xsMsXml;
SSLLib := LibWinCrypt;

Tive problemas no envio de NFC-e com um numero grande de itens, e o retorno foi:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Request Too Long</h2>
<hr><p>HTTP Error 400. The size of the request headers is too long.</p>
</BODY></HTML>

Utilizando a configuração:

SSLCryptLib := cryWinCrypt;
SSLHttpLib := httpWinLNet;
SSLXmlSignLib := xsMsXml;
SSLLib := LibCustom;

Não tive problema, enviou sem problemas.

Pelo que vi no post,  http://www.projetoacbr.com.br/forum/topic/35727-bye-bye-capicom/ essa segunda configuração continuaria tendo a dependência de configurações do I.E. Já na primeira não seria necessário configurações do I.E mais ai tenho esse problema no envio de NFC-e com um numero grande de itens. Tem alguma configuração adicional a ser efetuado.

 

 

 

Link para o comentário
Compartilhar em outros sites

27 minutos atrás, André Ferreira de Moraes disse:

Anexe o XML em q o problema ocorre.

Bom dia André, na verdade seria qualquer xml com um número grande de itens, eu identifiquei com mais de 55 itens no meu caso. Fiz diversas NFC-e diferentes e sempre ocorre o mesmo erro com notas com bastante itens. Até 50 itens não obtive problema, emite normal.

Como comentei, isso só ocorre com a primeira configuração, na segunda indiferente do número de itens vai sem problemas. O teste seria criar uma NFC-e com bastante itens e tentar fazer o envio utilizando a primeira configuração.

Em anexo um dos xmls

43170303470626004902650010000050931211732171-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Não consegui reproduzir o problema, fiz um teste com um XML de 100 itens e 87kb e o erro não ocorreu em nenhuma das duas situações.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Conforme especificação do douglas no início do tópico.

1 - configure o componente acbrnfe com as seguintes especificações 

SSLCryptLib := cryWinCrypt;
SSLHttpLib := httpWinHttp;
SSLXmlSignLib := xsMsXml;
SSLLib := LibWinCrypt;

2 - faça com uma nota com muitos itens mais de 50 (anexo um exemplo usado)

3 - tente fazer o envio da nota

 

Resultado no acbrdfewebservice.pas

    try
      FPRetornoWS := FPDFeOwner.SSL.Enviar(FPEnvelopeSoap, FPURL, FPSoapAction, FPMimeType);
    except

conteúdo do FPRetornoWS :

Em 21/03/2017 at 15:24, douglas_k disse:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Bad Request</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Bad Request - Request Too Long</h2>
<hr><p>HTTP Error 400. The size of the request headers is too long.</p>
</BODY></HTML>

 

 

teste.xml

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Como citei no post acima, não consegui reproduzir este problema com meus fontes.

Crie uma aplicação de exemplo em que o erro ocorre e poste aqui para que assim eu tente simular o problema.

Faça um teste, abra o arquivo ACBrWinHTTPReqResp e antes da linha wHeader := WideString(Header);(270 + ou -) adicione o seguinte código:

        Header := Header +'Content-Length: '+IntToStr(Length(Self.Data))+sLineBreak;   

 

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

8 minutos atrás, renesul disse:

Antes de enviar uma aplicação exemplo deixo registrado uma forma de contornar o problema de momento.

Defina "SSLHttpLib := httpIndy;" e "SSLLib := libCustom"

Meus fontes foram atualizados hoje de tarde;

 

Realmente assim consegui o envio da NFC-e com um grande numero de itens. Da mesma forma que com essa configuração:

SSLCryptLib := cryWinCrypt;
SSLHttpLib := httpWinLNet;
SSLXmlSignLib := xsMsXml;
SSLLib := LibCustom;

 

38 minutos atrás, André Ferreira de Moraes disse:

Como citei no post acima, não consegui reproduzir este problema com meus fontes.

Crie uma aplicação de exemplo em que o erro ocorre e poste aqui para que assim eu tente simular o problema.

Faça um teste, abra o arquivo ACBrWinHTTPReqResp e antes da linha wHeader := WideString(Header);(270 + ou -) adicione o seguinte código:


        Header := Header +'Content-Length: '+IntToStr(Length(Self.Data))+sLineBreak;   

 

Fiz os testes adicionando essa linha André, mais o erro continuou.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

 

21 horas atrás, renesul disse:

Antes de enviar uma aplicação exemplo deixo registrado uma forma de contornar o problema de momento.

Defina "SSLHttpLib := httpIndy;" e "SSLLib := libCustom"

Meus fontes foram atualizados hoje de tarde;

 

Boa tarde a todos....

Tive o mesmo problema em uma NF-e com 50 itens, alterei conforme a dica acima e consegui enviar.

A dúvida é se posso disponibilizar meu software em produção com esta configuração ou se há alguma restrição conhecida.

Desde já agradeço.

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores
11 minutos atrás, sysbase disse:

 

Boa tarde a todos....

Tive o mesmo problema em uma NF-e com 50 itens, alterei conforme a dica acima e consegui enviar.

A dúvida é se posso disponibilizar meu software em produção com esta configuração ou se há alguma restrição conhecida.

Desde já agradeço.

 

Efetue mas testes para tomar confiança.

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

Efetuei os testes com as configurações

Em 22/03/2017 at 17:11, renesul disse:

Antes de enviar uma aplicação exemplo deixo registrado uma forma de contornar o problema de momento.

Defina "SSLHttpLib := httpIndy;" e "SSLLib := libCustom"

Meus fontes foram atualizados hoje de tarde;

 

e

SSLCryptLib := cryWinCrypt;
SSLHttpLib := httpWinLNet;
SSLXmlSignLib := xsMsXml;
SSLLib := LibCustom;

Não obtive mais nenhuma problema. Agora com a configuração abaixo continuo tento problemas nos envio de notas com bastante itens. Se alguém que teve o problema conseguiu solucionar, se possível repasse o que foi feito.

SSLCryptLib := cryWinCrypt;
SSLHttpLib := httpWinHttp;
SSLXmlSignLib := xsMsXml;
SSLLib := LibWinCrypt;

 

Até mais.

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2561 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.

The popup will be closed in 10 segundos...