Jump to content
Motta

Erro : ORA-24263: Certificate , como tratar?

Recommended Posts

Envio de https via Oracle Versão

Oracle Database 12c Standard Edition Release 12.2.0.1.0 - 64bit Production
PL/SQL Release 12.2.0.1.0 - Production
"CORE   12.2.0.1.0  Production"
TNS for Linux: Version 12.2.0.1.0 - Production
NLSRTL Version 12.2.0.1.0 - Production

Obs 1) Wallet Instalado

Obs 2) O problema não seria reproduzível por questões de segurança Obs 3) Já tentei com o fornecedor

Tento enviar um POST via PLSQL e recebo o seguinte erro : Erro : ORA-24263: Certificate of the remote server does not match the target address.

Pergunta Como posso saber o valor de req := utl_http.begin_request(url, 'POST',https_host =>'???????'); ? é obrigatório ?


create or replace PROCEDURE        "SMS_ENVIO2" (PNUMSMS IN VARCHAR2 ,
                                                 PTEXTO  IN VARCHAR2 , 
                                                 PRETORNO OUT VARCHAR2)
/*alguns dados ocultos*/                                             
AS
  req utl_http.req;
  res utl_http.resp;
  url varchar2(4000) := 'https://messaging.o2c.cloud/api/v2/sms/';--acho que posso citar o site 
  name varchar2(4000);
  buffer varchar2(4000);
  content varchar2(4000);   
  VS_USUARIO VARCHAR2(11) := '*****';
  VS_SENHA VARCHAR2(20) := '*****';
  VS_SERIAL VARCHAR2(8);--VARCHAR2(100);
  VS_SCHEDULLE VARCHAR2(16) := TO_CHAR(SYSDATE,'DD/MM/YYYY HH24:MI');
  VS_AUTHOR_64 VARCHAR2(20) := '*********';
begin
   UTL_HTTP.SET_WALLET('file:.....', '**********');
   --   
   VS_SERIAL := LPAD(SMSENVIO_SERIAL_SEQ.NEXTVAL,8,'0'); 
   content :=  '   { ' ||
               '     "sendSmsRequest": {' ||                
               '     "to": "' || PNUMSMS ||'",' || 
               '     "message": "' || PTEXTO || '",' ||                
               '     "id": "' || VS_SERIAL || 
               '    }' ||  
               ' } ';
  --      
  dbms_output.put_line(url);
  dbms_output.put_line(content);
  --
  --req := utl_http.begin_request(url,'POST');
  req := utl_http.begin_request(url, 'POST',https_host =>'???????');
  utl_http.set_header(req, 'Content-Type', 'application/json');
  utl_http.set_header(req, 'Content-Length', length(content));  
  utl_http.set_header(req, 'Authorization', 'Basic ' || utl_encode.base64_encode(VS_AUTHOR_64));
  --
  utl_http.write_text(req, content);
  res := utl_http.get_response(req);
begin
      loop
        utl_http.read_line(res, buffer);
      end loop;
      utl_http.end_response(res);
      exception
      when utl_http.end_of_body then
        utl_http.end_response(res);
      end;
      dbms_output.put_line('retorno ' || buffer);
exception
  when others then
    PRETORNO := 'Erro : ' || UTL_HTTP.GET_DETAILED_SQLERRM;
end;

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By marco tulio sousa
      Boa tarde,
       
      FIz a declaração abaixo e tinha expectativa que o relatório retornado tivesse datas de inicio e termino de afastamento e ferias.
      Afastamentos estão em 1 tabela e férias em outra.
      Erro ORA-000936
      Que devo fazer?
       
       
      SELECT 
      SUBSTR(RHCGED_ALT_SIT_FUN.CODIGO, -6)
      Matric,
      RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL,
      CASE
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1216' THEN 'ATESTADO'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1211' THEN 'INSS'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1220' THEN 'INSS'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1218' THEN 'MATERNID'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1118' THEN 'MATERNIDADE'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1318' THEN 'PATERNIDADE'
       WHEN RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL = '1210' THEN 'LIC REMUN'
      END TIPO_AFAST,
      TO_DATE(RHCGED_ALT_SIT_FUN.DATA_INIC_SITUACAO) DT_INIC_AFAST,
      TO_DATE(RHCGED_ALT_SIT_FUN.DATA_FIM_SITUACAO) DT_FIM_AFAST,
      TO_DATE(RHFERI_FERIAS.DT_INI_GOZO) DT_INIC_FERIAS,
      TO_DATE(RHFERI_FERIAS.DT_FIM_GOZO) DT_FIM_FERIAS
       
      FROM CRHH.RHCGED_ALT_SIT_FUN
      INNER JOIN CRHH.RHFERI_FERIAS ON RHCGED_ALT_SIT_FUN.CODIGO = RHFERI_FERIAS.CODIGO_CONTRATO

      WHERE 
      RHCGED_ALT_SIT_FUN.COD_SIT_FUNCIONAL In ('1216','1211','1220','1218','1118','1318','1210')
      AND
      CRHH.RHCGED_ALT_SIT_FUN.CODIGO >=lpad(:texto_1,15,'0')
      AND RHCGED_ALT_SIT_FUN.CODIGO  <=lpad(:texto_2,15,'0')
      ORDER BY RHCGED_ALT_SIT_FUN.DATA_INIC_SITUACAO DESC
    • By asacap1000
      Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam?
      Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE.
      Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer. 
    • By Thiago Btos
      Boa tarde pessoal.
       
      Estou travado em uma parte do select do qual preciso somar os valores de todos os registros da coluna, e usa-lo como base de calculo para outra coluna
       
      SELECT PRODUTO, HORAS, QTDE, VARIACAO FROM DUAL
       
      Meu select está retornando algo assim:
       
      PRODUTO | HORAS | QTDE | VARIACAO
            A           |    2        |    20    |      5
            B           |    6        |    25    |      3
            C           |    5        |    70    |      9
            D           |    8        |    30    |      2
      --------------------------------------------------------
      Total           |    21     |  145    |      
       
      Preciso criar uma nova coluna com a formula (Total Qtde / Total horas) * variação ficando assim:
      PRODUTO | HORAS | QTDE | VARIACAO | CONTA
            A           |    2        |    20    |      5             |  34.52
            B           |    6        |    25    |      3             |  20.71
            C           |    5        |    70    |      9             |  62.14
            D           |    8        |    30    |      2             |  13.80
       
       
      A forma que estou tentando fazer é via subselect, mas ele não agrupa todas as linhas, e somente o registro da linha atual.
      SELECT PRODUTO, HORAS, QTDE, VARIACAO,
          (SELECT (SUM(QTDE) / SUM(HORAS)) * VARIACAO) AS CONTA
      FROM DUAL
       
      Dessa forma me retorna o seguinte resultado, como se estive calculando somente a linha atual e não toda a coluna.
      PRODUTO | HORAS | QTDE | VARIACAO | CONTA
            A           |    2        |    20    |      5             |  50
            B           |    6        |    25    |      3             |  12.5
            C           |    5        |    70    |      9             |  126
            D           |    8        |    30    |      2             |  7.5
       
       
       
      Espero que eu tenha conseguido explicar minha necessidade de forma que de para entender.
       
    • By asacap1000
      Salve galera estou com uma consulta, e preciso buscar a diferença entre datas, e em alguns casos são vários dias.
      Preciso que nesta consulta ele me retorne em dias, horas limitando a 23h minutos e segundos..
      A consulta que fiz foi essa:
       
      abs(trunc((AK1.DATA_FINAL - AK1.DATA_INICIAL))) AS dias, abs(trunc(24 * (AK1.DATA_FINAL - AK1.DATA_INICIAL))) AS horas, abs(trunc((MOD(MOD(AK1.DATA_FINAL - AK1.DATA_INICIAL, 1) * 24, 1) * 60))) AS minutos, abs(trunc((MOD((MOD(MOD(AK1.DATA_FINAL - AK1.DATA_INICIAL, 1) * 24, 1) * 60), 1) * 60))) AS segundos, ou essa aqui
       
      LPAD(TRUNC(( (AK1.DATA_FINAL - AK1.DATA_INICIAL) * 86400 / 3600)), 3, '0') ||':' || LPAD(TRUNC(MOD( (AK1.DATA_FINAL - AK1.DATA_INICIAL) * 86400 , 3600 ) / 60 ), 2, '0') || ':'|| LPAD(TRUNC(MOD(MOD( (AK1.DATA_FINAL - AK1.DATA_INICIAL) * 86400, 3600 ), 60)), 2, '0') calculado,  e nessa duas consultas ele me traz o total de horas o que complica.
      DIAS  HORAS  MINUTOS  SEGUNDOS  CALCULADO 0 6 1 10 006:01:11 0 0 31 28 000:31:28 0 1 5 8 001:05:09 0 0 41 2 000:41:02 0 4 59 53 004:59:53 0 0 41 6 000:41:06 0 4 59 20 004:59:20 0 0 56 1 000:56:01 0 0 26 31 000:26:31 0 6 10 3 006:10:03 0 0 40 1 000:40:01 0 4 59 53 004:59:53 0 6 3 27 006:03:27 0 6 3 7 006:03:07 0 1 5 57 001:05:58 10 250 28 21 250:28:21 10 250 18 37 250:18:37 0 4 58 42 004:58:43  
       
      Alguem poderia me dar uma força
       
    • By NaPraia
      Beleza?
       
      seguinte, tivemos problema com o servidor que pegou fogo, foi recuperado, porém não estou conseguindo compilar uma view
      se eu executo:
      select * from v_view , funciona
       
      se eu executo a query da view, também funciona
      select 1 campo from dual Porém, quando tento recompilar a view, dá erro
      create or replace view v_view as select 1 campo from dual No caso, minha query tem várias tabelas, estava dando esse erro numa tabela, consegui solucionar com o comando
      grant select on owner1.tabela to owner2 with grant option; Mas para a segunda tabela, esse comando não funcionou.
      executei o revoke e depois novamente o grant e também não foi
      REVOKE all ON owner1.tabela FROM owner2; Isso é em ambiente de homologação e percebi que o campo grantable está YES e em produção está setado para NO com o comando abaixo e em produção está funcionando, consigo compilar a view
      select * from user_tab_privs where table_name = 'tabela'  
      Alguém tem idéia do que pode ser? o que é que está pegando?
      Obrigado
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.