Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia pessoal, tudo bem?

Então, estou com um erro aqui na minha aplicação desde segunda dia 01/10. Seguinte fiz uma aplicação simples para consultar a situação do icms dos clientes de uma base de dados, onde eu seleciono os clientes direto do banco com um Select e vejo se a situação do ICMS do cliente está habilitado ou não habilitado pelo retorno do Web Service ConsultaCadastro. Rodo essa aplicação mensalmente para atualizar a situação do icms dos clientes baseado na base de dados do sintegra das UFs que possuem ele.

Mas essa semana fui fazer o procedimento e começo a dar um erro na minha aplicação a Exceção ESOAPHTTP. aparecendo uma msg "Erro no suporte a canais seguros", sendo que tenho esse mesmo problema ao tentar usar o Web Service StatusServico para testar a conexão

Já tentei, trocar o certificado (ambos são validos), tentei atualizar e recompilar os fontes do ACBr, mas nada resolve.

Segue as imagens da aplicação e da tela de erro, e o fonte da aplicação:

Aplicação:

n4duppda008cu0tia1h0.jpg

Tela de Erro:

z3p3lxo8fbkz3syy7iet.jpg

Código-Fonte da aplicação:

unit Unit1;


interface


uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ACBrNFe, ComCtrls, DB, DBTables;


type

  TForm1 = class(TForm)

    Button1: TButton;

    Button2: TButton;

    Memo1: TMemo;

    Database1: TDatabase;

    QryClientes: TQuery;

    QryTeste: TQuery;

    QryUpdate: TQuery;

    QryClientesCODCLIENTE: TFloatField;

    QryClientesCNPJ: TStringField;

    QryClientesINSCRICAO_ESTADUAL: TStringField;

    QryClientesUF: TStringField;

    QryClientesSITUACAO_ICMS: TStringField;

    QryClientesREGIME_DE_APURACAO: TStringField;

    QryClientesSITUACAO_CNPJ: TStringField;

    QryClientesQUANTIDADE_IE: TStringField;

    STP_teste: TStoredProc;

    QryTesteCODCLIENTE: TFloatField;

    QryTesteCNPJ: TStringField;

    QryTesteINSCRICAO_ESTADUAL: TStringField;

    QryTesteUF: TStringField;

    QryTesteSITUACAO_ICMS: TStringField;

    QryTesteREGIME_DE_APURACAO: TStringField;

    QryTesteSITUACAO_CNPJ: TStringField;

    Memo2: TMemo;

    ACBrNFe: TACBrNFe;

    Edit1: TEdit;

    Label1: TLabel;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;


var

  Form1: TForm1;

  razaoSocial: string;

  inscricaoEstadual: string;

  regime: string;

  estado: string;

  cidade: string;

  bairro: string;

  logradouro: string;

  numero: string;

  CEP: string;

  CNPJ: string;

  qtd_cnpj_inv: Integer;

  cnpj_invalido: array[1..32416] of string;

  qtd_cnpj_ie: Integer;

  cnpj_varias_ie: array[1..32416] of string;

  x: Integer;

  y: Integer;

  erro: string;


implementation


{$R *.dfm}


procedure TForm1.Button1Click(Sender: TObject);

begin

   ACBrNFe.WebServices.StatusServico.Executar; // Este comando, retorna True quando o serviço está em operação.

                                           // Após este comando, é possível acessar a propriedade

   ShowMessage(ACBrNFe.WebServices.StatusServico.Msg);

end;


procedure TForm1.Button2Click(Sender: TObject);

begin

   QryTeste.SQL.Text := Edit1.Text;

   if Trim(Edit1.text) <> '' then

   begin

   QryTeste.Close;

   QryTeste.Open;

   QryTeste.First;


   while not QryTeste.Eof do

   begin

      CNPJ   := QryTesteCNPJ.Value;

      estado := QryTesteUF.Value;

      ACBrNFe.WebServices.ConsultaCadastro.UF := estado;

      ACBrNFe.WebServices.ConsultaCadastro.CNPJ := CNPJ;

      try

        ACBrNFe.WebServices.ConsultaCadastro.Executar;

        if ACBrNFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[0].cSit = 1 then

        begin

        regime := ACBrNFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[0].xRegApur;

        inscricaoEstadual := ACBrNFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[0].IE;

            QryUpdate.Close;

             QryUpdate.SQL.Clear;

             QryUpdate.SQL.Add('UPDATE TESTE_ICMS_CLIENTES SET SITUACAO_ICMS = ''HABILITADO'', REGIME_DE_APURACAO = :xRegime, INSCRICAO_ESTADUAL = :xIE, SITUACAO_CNPJ = ''VALIDO'' WHERE CODCLIENTE = :xCliente');

             QryUpdate.ParamByName('xRegime').Value := regime;

             QryUpdate.ParamByname('xIE').Value := inscricaoEstadual;

             QryUpdate.ParamByName('xCliente').Value := QryTesteCODCLIENTE.Value;

             QryUpdate.ExecSQL;

             QryUpdate.SQL.Clear;

             QryUpdate.SQL.Add('commit');

             QryUpdate.ExecSQL;


            //ShowMessage('SIT = 1')

        end

        else

        if  ACBrNFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[0].cSit = 0 then

        begin

            if ACBrNFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[0].CNPJ = '' then

            begin

             QryUpdate.Close;

             QryUpdate.SQL.Clear;

             QryUpdate.SQL.Add('UPDATE TESTE_ICMS_CLIENTES SET SITUACAO_CNPJ = ''CNPJ INVALIDO'' WHERE CODCLIENTE = :xCliente');

             QryUpdate.ParamByName('xCliente').Value := QryTesteCODCLIENTE.Value;

             QryUpdate.ExecSQL;

             QryUpdate.SQL.Clear;

             QryUpdate.SQL.Add('commit');

             QryUpdate.ExecSQL;

             erro := IntToStr(ACBrNFe.WebServices.ConsultaCadastro.cStat);

             Memo2.Lines.Add(CNPJ + ' ERRO: '+ erro + ' MOVITO: ' + ACBrNFe.WebServices.ConsultaCadastro.xMotivo);

             Memo2.Lines.Add('');

              //showMessage('CNPJ INVALIDO!')

            end

            else

            begin

             regime := ACBrNFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[0].xRegApur;

             inscricaoEstadual := ACBrNFe.WebServices.ConsultaCadastro.RetConsCad.InfCad[0].IE;

             QryUpdate.Close;

             QryUpdate.SQL.Clear;


             QryUpdate.SQL.Add('UPDATE TESTE_ICMS_CLIENTES SET SITUACAO_ICMS = ''NAO HABILITADO'', REGIME_DE_APURACAO = :xRegime, INSCRICAO_ESTADUAL = :xIE, SITUACAO_CNPJ = ''VALIDO'' WHERE CODCLIENTE = :xCliente');

             QryUpdate.ParamByName('xRegime').Value := regime;

             QryUpdate.ParamByname('xIE').Value := inscricaoEstadual;

             QryUpdate.ParamByName('xCliente').Value := QryTesteCODCLIENTE.Value;

             QryUpdate.ExecSQL;

             QryUpdate.SQL.Clear;

             QryUpdate.SQL.Add('commit');

             QryUpdate.ExecSQL;

                   //ShowMessage('SIT = 0')

            end;

        end;


      except


        Memo1.Lines.Add(QryTesteCODCLIENTE.asString);

      end;

      QryTeste.Next;

   end;

   ShowMessage('ACABOU A CONSULTA!');

           end

        else

        begin

            ShowMessage('DIGITE A CONSULTA SQL!');

            end;

   end;


end.

Alguém sabe o que pode ser?

Desde já agradeço.

Postado

Bom dia Felipe,

O certificado não esta vencido?

Bom dia italojjr, realmente era isso mesmo, testei com um outro certificado aqui e deu certo.

O estranho era que o antigo estava funcionando normalmente da ultima vez e so vence em agosto de 2013, mas...

Muito obrigado :D

  • 10 meses depois ...
Postado (editado)

Boa tarde pessoal

 

Primeiro, gostaria de parabenizar a TODOS pelo excelente componente, pelo fórum e pela união dessa grande comunidade.

 

Trabalho simplesmente fantástico!!!

 

Mas vamos lá, sou novo aqui no fórum e estou tentando implementar o ACBrNFSe para o provedor FIORILLI, consegui compilar o projeto, mas estou recebendo o erro de exception ao enviar o lote RPS,

 

a excessão acontece unit:

unit ACBrNFSeWebServices;

 

na função:

function TNFSeEnviarLoteRPS.Executar: Boolean; 

 

na linha: 

StrStream := TStringStream.Create('');

 

e o erro seria esse que aparece no ShowMessage:

" raised exception class ESOAPHTTPException with message Parâmetro incorreto. - URL:http://201.28.69.146:5663/IssWeb-ejb/IssWebWS/IssWebWS - SOAPAction:http://ws.issweb.fiorilli.com.br/recepcionarLoteRps'. Process stopped...

Se alguém já passou por isso e puder me ajudar, antecipadamente, agradeço.

 

Muito Obrigado!!!!

Editado por phb
Postado

Boa Noite Italo.

 

Antes de mais nada, devo lhe agradecer pelo rápido contato. Obrigado!!!

 

A cidade em questão é Bariri/SP, o provedor: Fiorilli

Creio que os fontes estejam atualizados, pois reinstalei o ACBr via ACBrInstall

e a URL no tortoise está: svn://svn.code.sf.net/p/acbr/code

mas reparei que ao instalar usando o ACBrInstall a URL está: svn://svn.code.sf.net/p/acbr/code/trunk

mas enfim, mesmo depois de reinstalar o componente, o erro que citei antes permanece.

 

Alguma idéia do que pode ser???

 

E mais uma vez, Obrigado!!!

  • Consultores
Postado

Boa noite PNB,

 

Acabei de realizar um teste.

 

Configurei o programa exemplo com a cidade Bariri/SP, schema Fiorilli, usei o botão [Gerar e Enviar Lote] e tive como retorno o seguinte erro:

 

Usuário ou senha não informado.

 

Isso era esperado visto que não informei os dados acima e realizei testes usando um certificado que não pertence a uma empresa de Bariri.

 

Mas o erro postado por você não surgiu no meu teste.

 

Arquivos de envio e retorno:

5-env-lot-c.xml

5-rec-c.xml

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

Postado

Bom dia Italo.

 

O negócio ta meio embaçado aqui, rsrsrs

 

Assim como você, eu clico no botão [Gerar e Enviar Lote], o sistema pede o numero do RPS, numero do Lote, eu preencho de acordo com a faixa de numero que o provedor Fiorilli me deu para testes no caso (de 1201 a 1300), em seguida o sistema solicita a senha PIM do certificado (no meu caso estou usando certificado A3), eu digito-a e clico em OK, pronto: já dá o pau:  https://dl.dropboxusercontent.com/u/43540715/Sem%20t%C3%ADtulo.jpg

 

Será que o problema está no meu certificado??? 

 

Você poderia me enviar o seu Demo.exe p/ eu fazer um teste aqui???

 

Obrigado!!!

  • Consultores
Postado

Boa tarde PHB,

 

o programa exemplo que utilizo é o mesmo que encontra-se disponivel na pasta ...\Exemplos\ACBrNFSe\Delphi.

 

A unica diferença é que no teste que fiz usei um certificado A1.

 

Pesquise no fórum para saber quais as pessoas que utilizam o provedor Fiorilli, eles podem orientar melhor você.

Passar alguma dica.

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

Postado

Boa tarde Italo.

 

Acabei de falar com o suporte da Fiorilli, e enviei p/ eles o xml que o DemoAcbr está gerando, com meu certificado A3 e...

eles disseram que o XML está correto, inclusive analisara e enviaram para o servidor e o mesmo foi aceito.

 

Portanto, o problema deva estar no envio, uma vez que não é criado LOG e nem me chega resposta do WebService.

 

Obs.: Tive problemas ao compilar o Demo pois nao tenho o Quick aqui, entao tive que remove-lo do projeto. por isso te pedi o EXE pra fazer um teste.

 

 

Mas agradeço pela atenção... Um abraço e Obrigado!!!

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