Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Oi pessoal,

Semana que vem (primeiro semestre de agosto) entra em vigor o envio dos receituários agronômicos para o WebService da Cidasc, aqui de SC.

Estamos tendo dificuldades de fazer a integração com eles e não conseguimos contato com o suporte deles, estão sempre em reunião rsrs

Alguém também está passando por esse problema ou conseguiu fazer a integração?

 

 

Editado por Marina Benedetti Preto
  • Fundadores
Postado

Eita... mais um DFe a vista...

Você está usando a ACBrDFeSSL como base ?

Você poderia usar a implementação de um dos DFes mais simples, suportados pelo ACBr, como por exemplo o ACBrBPe, e tentar implementar um componente similar...

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.

  • Moderadores
Postado
Em 26/06/2018 at 09:37, Marina Benedetti Preto disse:

Oi pessoal,

Semana que vem (primeiro semestre de agosto) entra em vigor o envio dos receituários agronômicos para o WebService da Cidasc, aqui de SC.

Estamos tendo dificuldades de fazer a integração com eles e não conseguimos contato com o suporte deles, estão sempre em reunião rsrs

Alguém também está passando por esse problema ou conseguiu fazer a integração?

 

 

Tem link e maiores informações sobre o assunto

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • 4 semanas depois ...
Postado

Estou tendo um problema para enviar o arquivo XML para o WS da CIDASC. Seria o seguinte.

Primeiro eu tenho que logar no WS deles por um link e token (gerado por um login e senha). Isso eu faço da seguinte forma:

  vServe := 'https://svchomologacao.sigen.cidasc.sc.gov.br/Acesso/Login?authToken=MDM4MDkwOTQ5Ojk1OTQ1MDMz';

  IdHTTP 	 := TidHTTP.Create;
  Response   := TStringStream.Create('');
  Arquivo    := TIdMultiPartFormDataStream.Create;

  try
    IdHTTP.Post(vServe, Arquivo, Response);
    ShowMessage(Response.DataString);
  except
    on e:exception do  ShowMessage('Erro ao enviar arquivo ao servidor! Detalhes: '+e.Message);
  end;

Até ai tudo certo. O WS retorna que deu boa meu login. O problema vem agora.

Depois faço o seguinte para tentar enviar o XML para o WS:

vServe := 'https://svchomologacao.sigen.cidasc.sc.gov.br/Receituario/Incluir';

Arquivo.AddFile('xml', 'c:\casa\xmltestecidasc.xml', 'xml/text');

Try
     IdHTTP.Post(vServe, Arquivo, Response);
     ShowMessage(UTF8Encode(Response.DataString));
except
end;
Ja tentei passar o conteudo do XML, o caminho e ja tentei varias configurações pro idHTTP que vi na net. Mas sempre me retorna o mesmo erro ""O número da ART do Receitúario é obrigatório, ex: 9999999-9, tem que conter nove dígitos."".
 
Existe uma tag no xml que vai a informação ART mas ela esta preenchida e tem 9 digitos. Esse erro me retorna sempre, até mesmo se eu não passar o arquivo para enviar. 
 
Já testei mandar cm stringlist e outros, mas sempre tenho esse erro como retorno.
 
Depois de vários testes feitos no delphi, fui testar no POSTMAN. E nele retorna o erro ""Valor informado para o campo  não é válido: Número da ART é inválido""Dados recebidos com erros."".
 
Como pode ver o erro que retorna é diferente, ele diz que o ART que passei é invalido. Pois coloquei um numero ART com 9 digitos qualquer, só para não acusar o outro erro.
 
A unica forma de simular no POSTMAN o mesmo erro que tenho no delphi, foi não passando o arquivo xml.
 
Então acredito que quando faço pelo delphi não esta indo a valor do XML de forma correta. 
 
Obs: O POSTMAN tem a opção de vc anexar o arquivo ou colar a informação que deseja enviar. Só consegui fazer funcionar passando a informação do XML.
 
Em anexo o xml que uso para teste. 
 
E desculpem qualquer coisa.

xmltestecidasc.xml

Postado

Desculpem a ignorância. Resolvi da seguinte forma:

  ARequest := TStringList.Create;
  ARequest.LoadFromFile ('C:\casa\xmltestecidasc.xml');

  RBody := TStringStream.Create(ARequest.text);

  vServe := 'https://svchomologacao.sigen.cidasc.sc.gov.br/Receituario/Incluir';

  try

    Try
      IdHTTP.Request.Accept := 'application/xml';
      IdHTTP.Request.ContentType := 'application/xml';
      IdHTTP.Request.ContentEncoding := 'utf-8';

      IdHTTP.Post(vServe, RBody, Response);
      ShowMessage(Response.DataString);

    finally
      Lista.Free;
      IdHTTP.free;
    end;
  except
    on e:exception do  ShowMessage('Erro ao enviar arquivo ao servidor! Detalhes: '+e.Message);
  end;

 

Obrigado.

  • 1 mês depois ...
  • Membros Pro
Postado
Em 03/08/2018 at 10:19, Marina Benedetti Preto disse:

Oi pessoal, nós conseguimos fazer a integração.

O WebService da CIDASC ainda está passando por ajustes e o envio ainda não tem data obrigatória pelo que nos foi informado.

Obrigada!

Olá Marina,

Podia me passar informações de como transmitir esses arquivos a CIDASC, bem como montar o XML, pois não encontro informações sobre isso?

 

  • 1 mês depois ...
Postado
Em 01/08/2018 at 10:16, Gean disse:

Desculpem a ignorância. Resolvi da seguinte forma:


  ARequest := TStringList.Create;
  ARequest.LoadFromFile ('C:\casa\xmltestecidasc.xml');

  RBody := TStringStream.Create(ARequest.text);

  vServe := 'https://svchomologacao.sigen.cidasc.sc.gov.br/Receituario/Incluir';

  try

    Try
      IdHTTP.Request.Accept := 'application/xml';
      IdHTTP.Request.ContentType := 'application/xml';
      IdHTTP.Request.ContentEncoding := 'utf-8';

      IdHTTP.Post(vServe, RBody, Response);
      ShowMessage(Response.DataString);

    finally
      Lista.Free;
      IdHTTP.free;
    end;
  except
    on e:exception do  ShowMessage('Erro ao enviar arquivo ao servidor! Detalhes: '+e.Message);
  end;

 

Obrigado.

Ola Gean, estou tentando fazer o mesmo procedimento que vc fez, mas nao estou conseguindo nem realizar o Login no WS do CIDASC,
está retornando: Socket Error # 10054 Connection reset by peer.

Postado (editado)

Boa tarde.

Para conectar/Incluir no WS fiz da seguinte forma:

(Fiz de uma forma rápida por conta do prazo. Desculpem qualquer coisa).

procedure ArquivoCIDASC(vChave : String);
var IdHTTP : TIdHTTP;

begin
  IdHTTP  := TidHTTP.Create;

  FrmFuncoes.ComunicaWebService(IdHTTP, 'https://sigensv.cidasc.sc.gov.br/Acesso/Login?authToken=(aqui vai o login:senha em code 64)', nil);

  CriaArquivoJSON(vChave, IdHTTP);

  FrmFuncoes.IncluirWebService(IdHTTP, 'https://sigensv.cidasc.sc.gov.br/Receituario/Incluir');

  IdHTTP.Free;
end;

procedure ComunicaWebService (var IdHTTP : TIdHTTP; vServeAcesso :String; vInfArquivo : TStringStream);
var vResponse: TStringStream;

begin
  vResponse   := TStringStream.Create('');

  try
    IdHTTP.Post(vServeAcesso, vInfArquivo, vResponse);
  except
    on e:exception do  ShowMessage('Erro! Detalhes: '+e.Message);
  end;

  //Finaliza os componentes.
  vResponse.Free;
end;

procedure IncluirWebService (var IdHTTP : TIdHTTP; vServeIncluir :String);
var
  vInfArquivo : TStringList;
  vBody: TStringStream;

begin
  vInfArquivo := TStringList.Create;

  try
    //Pega a informção do XML gerado.
    vInfArquivo.LoadFromFile ('C:\CASA\CIDASC\XML\xmltestecidasc.xml');

    vBody := TStringStream.Create(vInfArquivo.text);

    //Configura Componente de Envio.
    IdHTTP.Request.Accept := 'application/xml';
    IdHTTP.Request.ContentType := 'application/xml';
    IdHTTP.Request.ContentEncoding := 'utf-8';

    //Faz o Envio do Receituário.
    FrmFuncoes.ComunicaWebService(IdHTTP, vServeIncluir, vBody);
  except
    on e:exception do  ShowMessage('Erro! Detalhes: '+e.Message);
  end;

  //Finaliza os componentes.
  vInfArquivo.Free;
  vBody.Free;
end;

Observação: Depois que voce criar o componente idHTTP deve usar o mesmo para logar, incluir e etc...Se criar outro componente idHTTP vai perder a conexão.

 

Editado por Gean
  • Curtir 1
  • Obrigado 1
Postado

seguindo o seu exemplo, consegui logar no WS, mas na hora de enviar o arquivo XML, está dando erro 401 unauthorized.

já revisei o registro e o creaSc se pertencem ao mesmo cadastro do login, estao tudo OK, mas parece nao autoriza enviar o arquivo XML 

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