Jump to content

dev botao

HTTP/1.1 400 Bad Request


Go to solution Solved by Italo Giurizzato Junior,
  • Este tópico foi criado há 1940 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

bom dia senhores, estou com o seguintes retorno quanto envio um evento de cancelamento de nfc-e (acbrnfe) para o servidor da sefaz:

 

HTTP/1.1 400 Bad Request

Isso utilizando um servidor vcl .dll no iis

já utilizei todas essas opções:

  TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy);

o mesmo codigo quando executado em modo standalone funciona e cancela a nfc-e normalmente, uso a seguintes configuração:

  ACBrNFe1.Configuracoes.Geral.VersaoDF := ve400;
  ACBrNFe1.SSL.SSLType := LT_TLSv1_2;
  ACBrNFe1.Configuracoes.Geral.SSLLib := libOpenSSL;
  ACBrNFe1.Configuracoes.Geral.SSLCryptLib := cryOpenSSL;
  ACBrNFe1.Configuracoes.Geral.SSLHttpLib := httpOpenSSL;
  ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib:= xsMsXml;
  ACBrNFe1.Configuracoes.Geral.VersaoQRCode := veqr200;

  ACBrNFe1.Configuracoes.WebServices.UF :=
        qryLojas.FieldByName('sigla_estado').AsString;

//    Seta Versão a ser utilizada em execução
 with acbrnfe1.Configuracoes do
   begin
    Geral.ModeloDF := moNFce;
    //Geral.idCSC    := '000001';
    //Geral.CSC      := frmlogon.qryLojas_csc.AsString; //'39d58c8a-9ce8-43dc-83b7-1ea1fc3123f2';

    Certificados.NumeroSerie := qryLojas.FieldByName('certdigital_nserie').AsString; //NFe_CertDigitalSenha;
    Certificados.Senha       := qryLojas.FieldByName('certdigital_senha').AsString;  //NFe_CertDigitalSerie;
    Certificados.ArquivoPFX  := qryLojas.FieldByName('certdigital_caminho').AsString;

    if length(trim(qryLojas.FieldByName('id_csc').AsString)) > 0 then
      begin
        Geral.idCSC     :=
          copy( '000000' + trim(qryLojas.FieldByName('id_csc').AsString),
            length('000000' + trim(qryLojas.FieldByName('id_csc').AsString)) - 5, 6);
        Geral.CSC       := qryLojas.FieldByName('csc').AsString; //'39d58c8a-9ce8-43dc-83b7-1ea1fc3123f2';
      end;

    Geral.FormaEmissao := teNormal;
    Geral.Salvar       := True;

//    ACBrCTe1.Configuracoes.arquivos.PathSalvar   := edtPathLogs.Text;

    Geral.Salvar        := True;
    arquivos.PathSalvar :=
      copy(trim(qryCupom_capa.FieldByName('arquivo_nfce').AsString),
          1, length(trim(qryCupom_capa.FieldByName('arquivo_nfce').AsString)) - 52);
    WebServices.Visualizar := false;

alguém pode me dar uma dica?

 

image.png

Link to comment
Share on other sites

  • Administradores

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

  • Thanks 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

Link to comment
Share on other sites

Bom dia José, como eu disse para um sistema em vcl como é o DemoNFe o cancelamento funciona.

Estou usando o intraweb como mencionei anteriormente:

utilizo um servidor vcl .dll no iis

já utilizei todas essas opções:

  TSSLHttpLib = (httpNone, httpWinINet, httpWinHttp, httpOpenSSL, httpIndy);

o mesmo codigo quando executado em modo standalone funciona e cancela a nfc-e normalmente, uso a seguintes configuração:

  ACBrNFe1.Configuracoes.Geral.VersaoDF := ve400;
  ACBrNFe1.SSL.SSLType := LT_TLSv1_2;
  ACBrNFe1.Configuracoes.Geral.SSLLib := libOpenSSL;
  ACBrNFe1.Configuracoes.Geral.SSLCryptLib := cryOpenSSL;
  ACBrNFe1.Configuracoes.Geral.SSLHttpLib := httpOpenSSL;
  ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib:= xsMsXml;
  ACBrNFe1.Configuracoes.Geral.VersaoQRCode := veqr200;

 

a criação do .xml, assinatura, envio para sefaz, retorno ok da sefaz, reenvio de nfce em contingência, retorno ok de nfce, pesquisa de documento, funciona perfeitamente tanto standalone quanto no servidor vcl .dll no iis (isapi).

 

Edited by KriarTecnologia
Link to comment
Share on other sites

Provavelmente o programa não esta conseguindo acessar o certificado digital, lembrando que o IIS roda com usuario diferente do logado na maquina e por isso ele não vai conseguir acessar o seu certificado, precisa configura o seu site para rodar como se fosse o usuário onde esta instalado o certificado ou usar o certificado A1.

 

  • Like 3

 

Link to comment
Share on other sites

15 horas atrás, Rafael Dias disse:

a criação do .xml, assinatura, envio para sefaz, retorno ok da sefaz, reenvio de nfce em contingência, retorno ok de nfce, pesquisa de documento, funciona perfeitamente tanto standalone quanto no servidor vcl .dll no iis (isapi). 

Uso o certificado para essas operações sem problemas.

 

15 horas atrás, Rafael Dias disse:

 

 

a criação do .xml, assinatura, envio para sefaz, retorno ok da sefaz, reenvio de nfce em contingência, retorno ok de nfce, pesquisa de documento, funciona perfeitamente tanto standalone quanto no servidor vcl .dll no iis (isapi). 

Uso o certificado para essas operações sem problemas.

Edited by KriarTecnologia
Link to comment
Share on other sites

  • Consultores
5 horas atrás, KriarTecnologia disse:

a criação do .xml, assinatura, envio para sefaz, retorno ok da sefaz, reenvio de nfce em contingência, retorno ok de nfce, pesquisa de documento, funciona perfeitamente tanto standalone quanto no servidor vcl .dll no iis (isapi). 

Uso o certificado para essas operações sem problemas.

Pela imagem que você mostrou, não há mais informações sobre o erro. Então será necessário avaliar mais a fundo, gerando um log, ou buscando mais informações da requisição.

Talvez isso seja difícil.

Nesse caso, você pode alternativamente usar uma ferramenta para capturar e analisar as requisições http. Daí poderá verificar quais as diferenças entre na aplicação no formato VCL e na usada no IIS. De posse das diferenças, talvez possamos ajudar.

Confesso que não é muito minha área, mas algumas ferramentas para isso são:

 

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Consultores

A propósito, será mais fácil comparar as diferenças quando utilizando a mesma solicitação. Então se possível, faça compare a mesma nota, com o mesmo emissor e o mesmo ambiente nos dois aplicativos.

  • Like 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to comment
Share on other sites

  • Consultores
  • Solution

Bom dia,

Em vez de:

ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib:= xsMsXml;

Tente:

ACBrNFe1.Configuracoes.Geral.SSLXmlSignLib:= xsLibXml2;

  • Like 1
  • Thanks 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link to comment
Share on other sites

  • Este tópico foi criado há 1940 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.