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.