Ir para conteúdo
  • Cadastre-se

EduXml

Membros
  • Total de ítens

    21
  • Registro em

  • Última visita

Community Answers

  1. EduXml's post in Erro de memory allocation failed na leitura dos xmls was marked as the answer   
    Opa resolvido, fiz atualização do Acbr funcionou perfeitamente.
    Muito obrigado a todos
  2. EduXml's post in Erro no status e envio NFce was marked as the answer   
    A solução para a consulta do status do serviço para NFCe foi trocando o certificado para um A1.
    O outro certificado era um A1 na nuvem para NFe a consulta do status do serviço funciona.
  3. EduXml's post in Rest carregar certificado was marked as the answer   
    Resolvido através do HTTP
    Segue código abaixo
    function ObterToken():integer;
    var
      HTTPClient: TIdHTTP;
      SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
      url,json: string;
      JsonStreamRetorno, JsonStreamEnvio: TStringStream;
      retorno : integer;
    begin
      url := 'https://mtls-mp.hml.flagship.maas.link/auth/realms/Matera/protocol/openid-connect/token';
      HTTPClient := TIdHTTP.Create(nil);
      HTTPClient.Request.CharSet := 'utf-8';
      HTTPClient.Request.Accept := '*/*';
      HTTPClient.Request.AcceptEncoding := 'gzip, deflate, br';
      HTTPClient.Request.CustomHeaders.Values['Content-Type'] := 'application/x-www-form-urlencoded';
      HTTPClient.HTTPOptions := [hoKeepOrigProtocol, hoInProcessAuth];
      HTTPClient.HandleRedirects := True;
      json:= 'grant_type=client_credentials&client_id=teste&client_secret=123456789'; //aqui era o maior problema 
      JsonStreamEnvio   := TStringStream.Create(utf8Encode(json));
      JsonStreamRetorno := TStringStream.Create('');
      SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
      try
        SSLIOHandler.SSLOptions.Mode := sslmUnassigned;
        SSLIOHandler.SSLOptions.CertFile := 'd:\matera\novo\certificate.pem';
        SSLIOHandler.SSLOptions.KeyFile := 'd:\matera\novo\certificate.key';
        SSLIOHandler.SSLOptions.SSLVersions := [sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2];
        HTTPClient.IOHandler := SSLIOHandler;
        try
          HTTPClient.Post(url, JsonStreamEnvio, JsonStreamRetorno);
        except
          retorno := HTTPClient.ResponseCode;
        end;
        retorno := HTTPClient.ResponseCode;
        if retorno = 200 then
        begin
          JsonStreamRetorno.SaveToFile('d:\token.json');
        end;
      finally
        HTTPClient.Free;
        SSLIOHandler.Free;
      end;
    end;
    Obrigado Pessoal.
  4. EduXml's post in Obter token API via Synapse ou HTTP was marked as the answer   
    Resolvido
    Segue código abaixo
    function ObterToken():integer;
    var
      HTTPClient: TIdHTTP;
      SSLIOHandler: TIdSSLIOHandlerSocketOpenSSL;
      url,json: string;
      JsonStreamRetorno, JsonStreamEnvio: TStringStream;
      retorno : integer;
    begin
      url := 'https://mtls-mp.hml.flagship.maas.link/auth/realms/Matera/protocol/openid-connect/token';
      HTTPClient := TIdHTTP.Create(nil);
      HTTPClient.Request.CharSet := 'utf-8';
      HTTPClient.Request.Accept := '*/*';
      HTTPClient.Request.AcceptEncoding := 'gzip, deflate, br';
      HTTPClient.Request.CustomHeaders.Values['Content-Type'] := 'application/x-www-form-urlencoded';
      HTTPClient.HTTPOptions := [hoKeepOrigProtocol, hoInProcessAuth];
      HTTPClient.HandleRedirects := True;
      json:= 'grant_type=client_credentials&client_id=teste&client_secret=123456789'; //aqui era o maior problema 
      JsonStreamEnvio   := TStringStream.Create(utf8Encode(json));
      JsonStreamRetorno := TStringStream.Create('');
      SSLIOHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
      try
        SSLIOHandler.SSLOptions.Mode := sslmUnassigned;
        SSLIOHandler.SSLOptions.CertFile := 'd:\matera\novo\certificate.pem';
        SSLIOHandler.SSLOptions.KeyFile := 'd:\matera\novo\certificate.key';
        SSLIOHandler.SSLOptions.SSLVersions := [sslvTLSv1,sslvTLSv1_1,sslvTLSv1_2];
        HTTPClient.IOHandler := SSLIOHandler;
        try
          HTTPClient.Post(url, JsonStreamEnvio, JsonStreamRetorno);
        except
          retorno := HTTPClient.ResponseCode;
        end;
        retorno := HTTPClient.ResponseCode;
        if retorno = 200 then
        begin
          JsonStreamRetorno.SaveToFile('d:\token.json');
        end;
      finally
        HTTPClient.Free;
        SSLIOHandler.Free;
      end;
    end;
    Obrigado Pessoal.
×
×
  • 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.