Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado (editado)

Bom dia Ítalo,

Obs: Só não consegui encontrar os schemas na pasta de schemas em exemplos, seria isso?

Sim estou seguindo o exemplo: Configurações:

  ACBrCIOT1.SSL.UseCertificateHTTP := false;
  with ACBrCIOT1.Configuracoes.Geral do
  begin
    SSLLib        := ACBrCIOT1.Configuracoes.Geral.SSLLib;
    SSLCryptLib   := ACBrCIOT1.Configuracoes.Geral.SSLCryptLib;
    SSLHttpLib    := ACBrCIOT1.Configuracoes.Geral.SSLHttpLib;
    SSLXmlSignLib := ACBrCIOT1.Configuracoes.Geral.SSLXmlSignLib;
    ACBrCIOT1.SSL.SSLType := LT_TLSv1_2;

    Salvar           := true;
    ExibirErroSchema := true;
    RetirarAcentos   := true;
    FormatoAlerta    := vFormatoAlerta;
    FormaEmissao     := TpcnTipoEmissao(cbFormaEmissao.ItemIndex);
    VersaoDF         := TVersaoCIOT(cbVersaoDF.ItemIndex);
    Integradora      := StrToIntegradora(Ok, cbbIntegradora.text);

    edtUsuarioWebService.Text := 'usuario@ks';
    edtSenhaWebService.Text   := 'usuario#ks';
    edtHashIntegrador.Text    := '4c0e6531-dc14-49bb-874d-041415b874e7';
    Usuario          := edtUsuarioWebService.Text;
    Senha            := edtSenhaWebService.Text;
    HashIntegrador   := edtHashIntegrador.Text;
  end;

  with ACBrCIOT1.Configuracoes.WebServices do
  begin
    UF         := UFOrigem;
    if rgTipoAmb.ItemIndex = 0 then
       Ambiente   := taProducao
    else
       Ambiente   := taHomologacao;
    Visualizar := true;
    Salvar     := true;
    AjustaAguardaConsultaRet := true;
    if NaoEstaVazio(edtAguardar.Text)then
      AguardarConsultaRet := ifThen(StrToInt(edtAguardar.Text) < 1000, StrToInt(edtAguardar.Text) * 1000, StrToInt(edtAguardar.Text))
    else
      edtAguardar.Text := IntToStr(AguardarConsultaRet);
    if NaoEstaVazio(edtTentativas.Text) then
      Tentativas := StrToInt(edtTentativas.Text)
    else
      edtTentativas.Text := IntToStr(Tentativas);
    if NaoEstaVazio(edtIntervalo.Text) then
      IntervaloTentativas := ifThen(StrToInt(edtIntervalo.Text) < 1000, StrToInt(edtIntervalo.Text) * 1000, StrToInt(edtIntervalo.Text))
    else
      edtIntervalo.Text := IntToStr(ACBrCIOT1.Configuracoes.WebServices.IntervaloTentativas);
    TimeOut   := 5000;
  end;

  with ACBrCIOT1.Configuracoes.Arquivos do
  begin
    Salvar           := true;
    AdicionarLiteral := true;
    EmissaoPathCIOT  := true;
    SepararPorCNPJ   := true;
    SepararPorModelo := true;
    PathSchemas      := 'C:\Gintran\Programa\Schemas\CIOT';
    if not DirectoryExists('C:\Gintran\Programa\CIOT') then
       ForceDirectories('C:\Gintran\Programa\CIOT');
    PathCIOT         := 'C:\Gintran\Programa';
    PathSalvar       := PathMensal;
  end;

 

Editado por Luiz Carlos de Lima
  • Consultores
Postado

Bom dia Luiz,

O eFrete não disponibilizou os Schemas, logo indica a mesma pasta de schemas do CT-e ou da NF-e.

A rotina que configura o componente esta sendo executada antes da realização do envio?

No programa exemplo ocorre o mesmo erro?

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

  • Membros Pro
Postado

O problema estava na configuração. Agora está dando Certificado não encontrato. Não entendi porque tenho que informar certificado, Sendo que estou apenas fazendo testes e não tenho nenhum certificado cadastrado junto ao eFrete. Eles me passaram usuario, senha e Hash para testes. Alguma dica ou é melhor ver com o eFrete?

  • Consultores
Postado

Boa tarde Luiz,

Se não me falha a memória em ambiente de homologação é possível realizar todos os testes sem a necessidade do certificado digital.

Neste caso você não deve informar o numero de serie, senha, caminho ou conteúdo do arquivo PFX ao configurar o componente.

Veja no programa exemplo, que existe uma linha que determina se o certificado vai ser utilizado ou não.

  // Não for informado nenhuma informação a respeito do certificado
  // o componente será configurado para não carregar o certificado.
  ACBrCIOT1.SSL.UseCertificateHTTP := (edtCaminho.Text <> '') or
                              (edtSenha.Text <> '') or (edtNumSerie.Text <> '');

 

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

  • Membros Pro
Postado
Agora, Italo Jurisato Junior disse:

Boa tarde Luiz,

Se não me falha a memória em ambiente de homologação é possível realizar todos os testes sem a necessidade do certificado digital.

Neste caso você não deve informar o numero de serie, senha, caminho ou conteúdo do arquivo PFX ao configurar o componente.

Veja no programa exemplo, que existe uma linha que determina se o certificado vai ser utilizado ou não.


  // Não for informado nenhuma informação a respeito do certificado
  // o componente será configurado para não carregar o certificado.
  ACBrCIOT1.SSL.UseCertificateHTTP := (edtCaminho.Text <> '') or
                              (edtSenha.Text <> '') or (edtNumSerie.Text <> '');

 

Pois é o que entendi. Fiz das duas formas abaixo, e continua dando o erro.

  ACBrCIOT1.SSL.UseCertificateHTTP := (edtCaminho.Text <> '') or (edtSenha.Text <> '') or (edtNumSerie.Text <> '');

  ACBrCIOT1.SSL.UseCertificateHTTP := false;

 

  • Membros Pro
Postado

Boa tarde Ítalo,

Não cheguei a fazer teste com o exemplo, criei uma formulário usando a estrutura do exemplo. Mas pode ser que o problema é porque não estou fazendo login, e parece que se não usar certificado é necessário fazer login. Vou fazer mais testes. Grato pela atenção.

 

  • Curtir 1
  • Membros Pro
Postado

Boa tarde Ítalo,

Ao fazer Operacao  opLogin  independente de estar informando a integradora como iNone, ieFrete, iRepom..., o retorno é sempre o mesmo. Considerando que para testes fiz parceria com o eFrete, não deveria retonar um erro quando informar  Integradora diferente de ieFrete. Anexei XMLs separando os iNone e ieFrete. O retorno dos dados são sempre os mesmos também.

 

Retorno do Envio
Versão...........: 1
Sucesso..........: true
Protocolo Serviço: 459123

Token........................: 95-91-54-5D-9F-78-E4-31-38-F1-D4-6F-3F-96-B7-C4-A4-0F-A1-11
Código Identificação Operação:
Data.........................: 30/12/1899
Protocolo....................:
Data Retificação.............: 30/12/1899
Quantidade Viagens...........: 0
Quantidade Pagamentos,.......: 0
Id Pagamento Cliente.........:

20200504164130-res-iNone-Login-soap.xml 20200504164129-ped-iNone-Login-soap.xml 20200504163648-ped-ieFrete-Login-soap.xml 20200504163648-res-ieFrete-Login-soap.xml

  • Membros Pro
Postado

Fontes atualizados e ACBr reinstalado.

1 - No demo Continua não usando a definição do combo cbbIntegradora, no xml gerado continua sempre eFRETE.

2 - No meu form agora está dando erro quando executado.  Message 'TCIOTWClass.GerarXml, não implementado'

 

  • Membros Pro
Postado

Boa tarde Ítalo,

Foram todas atualizadas sim.

Veja bem, noformulário exemplo não esta dando o erro, ele esta ocorrendo no meu formulário, começou com a atualização.

Em pcnCIOTW

function TCIOTWClass.GerarXml: Boolean;
begin
  Result := False;
  raise EACBrDFeException.Create(ClassName + '.GerarXml, não implementado');
end;

 

  • Consultores
  • Solution
Postado

Bom dia Luiz,

Se no programa exemplo mesmo com a atualização dos fontes funciona sem nenhum problema, por outro lado na sua aplicação ocorre erro, com certeza a configuração do componente na sua aplicação não esta correta ou esta incompleta.

Como o erro se refere a geração do XML, você configurou corretamente a propriedade de configuração chamada: Integradora?

Ela tem que esta com o valor: eFrete.

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

  • Membros Pro
Postado

Boa tarde Ítalo,

1 - O problema só ocorre quando envia iNone para a Integradora. Com ieFrete OK, com IRepom e IPanCard não retorna o Token mas não dá erro.

2 - Vai ser liberado também integração com IRepom e IPanCard

  • Consultores
Postado

Boa noite Luiz,

Não entendo o motivo de você configurar o componente com um valor diferente de ieFrete para o Integrador, sendo que o componente no momento só trabalha com o eFrete.

Quanto ao iRepom e iPanCard, caso você deseja colaborar com o projeto,  implementando um deles ficaremos agradecido.

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

  • Membros Pro
Postado

Bom dia Ítalo,

Sobre o iRepom e o iPanCard, comentei porque no seu modelo ele constam no combo. Se tiver algum cliente que exija outro que não seja o ieFrete, e precisar montar com certeza colaborarei.

Grato pela atenção.

  • Curtir 1
×
×
  • 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.