IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Forms Oracle Discussion :

UTL_HTTP avec HTTPS [12c]


Sujet :

Forms Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur Développeur
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Par défaut UTL_HTTP avec HTTPS
    Bonjour,

    J'ai depuis quelque jours une difficulté à consommé un web service Rest avec le package plsql UTL_HTTP.
    Avec les requêtes HTTP ça marche très bien, mais une fois j'ai le HTTPS il y a une erreur qui survient toujours.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ORA-29273: échec de demande HTTP
    ORA-53203: violation de sécurité
    ORA-06512: à "SYS.UTL_HTTP", ligne 380
    ORA-06512: à "SYS.UTL_HTTP", ligne 1127
    ORA-06512: à ligne 18
    Quelqu'un aurait une idée s'il vous plait ?
    Merci !

  2. #2
    Membre Expert
    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Décembre 2019
    Messages
    1 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Décembre 2019
    Messages : 1 175
    Par défaut
    Bonjour,

    Pour https il faut utiliser un Wallet, et à partir de la 11g tu dois créer des ACL (Access Control List). As-tu bien fait toutes ces actions?

  3. #3
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    Je complémente ce qu'a dit Vanagreg.
    En 12c Oracle a rajouté la notion de nom de serveur dans UTL_HTTP.Begin_request,paramètre https_host pour gérer les noms d'hôtes différent du certificat

    exemple d'un de mes codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -- On ouvre la demande
      $IF DBMS_DB_VERSION.VER_LE_11 
      $THEN
        req := UTL_HTTP.begin_request(url => p_url, METHOD => p_action, http_version => 'HTTP/1.1')
      $ELSE
        req := UTL_HTTP.begin_request(url => p_url, METHOD => p_action, http_version => 'HTTP/1.1', https_host => p_nomserveur)
      $END;
    Et en 12.2 le patch 181016 (16/10/2018) permet de gérer les serveur avec SNI

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur Développeur
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Par défaut
    Citation Envoyé par McM Voir le message
    Bonjour,

    Je complémente ce qu'a dit Vanagreg.
    En 12c Oracle a rajouté la notion de nom de serveur dans UTL_HTTP.Begin_request,paramètre https_host pour gérer les noms d'hôtes différent du certificat

    exemple d'un de mes codes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    -- On ouvre la demande
      $IF DBMS_DB_VERSION.VER_LE_11 
      $THEN
        req := UTL_HTTP.begin_request(url => p_url, METHOD => p_action, http_version => 'HTTP/1.1')
      $ELSE
        req := UTL_HTTP.begin_request(url => p_url, METHOD => p_action, http_version => 'HTTP/1.1', https_host => p_nomserveur)
      $END;
    Et en 12.2 le patch 181016 (16/10/2018) permet de gérer les serveur avec SNI
    Merci pour le réponse. Je vais voir ça et vous reviens. Merci

  5. #5
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Vérifie bien tes exceptions et voit si l'erreur visible ne cache pas un autre problème.
    J'ai recherché l'erreur ORA-53203, et parfois c'est juste du close_connexion sur une connexion déjà fermée.

    Ensuite vérifie à quel niveau ça plante.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur Développeur
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Par défaut
    J'ai effectué vos recommandations, mais j'arrive toujours pas à consommer le web service.
    Voici un exemple de code que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    DECLARE
     
        request UTL_HTTP.REQ;
        response UTL_HTTP.RESP;
        buff VARCHAR2(4000);
        clob_buff CLOB;
        url varchar(500):='https://restcountries.eu/rest/v2/all'; 
     
    BEGIN
     
        UTL_HTTP.SET_RESPONSE_ERROR_CHECK(true);
     
        UTL_HTTP.SET_WALLET('file:C:\oracle\certifs', 'pays12345'); 
     
        request := UTL_HTTP.begin_request(url => url, METHOD => 'GET', https_host => 'restcountries.eu'); 
     
        response := UTL_HTTP.GET_RESPONSE(request);
     
        DBMS_OUTPUT.PUT_LINE('HTTP response status code: ' || response.status_code);
     
        IF response.status_code = 200 THEN        
     
            BEGIN
                clob_buff := EMPTY_CLOB;
                LOOP
                    UTL_HTTP.READ_TEXT(response, buff, LENGTH(buff));
            clob_buff := clob_buff || buff;
                END LOOP;
            UTL_HTTP.END_RESPONSE(response);
        EXCEPTION
            WHEN UTL_HTTP.END_OF_BODY THEN
                    UTL_HTTP.END_RESPONSE(response);
            WHEN OTHERS THEN
                    DBMS_OUTPUT.PUT_LINE(SQLERRM);
                    DBMS_OUTPUT.PUT_LINE(DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
                    UTL_HTTP.END_RESPONSE(response);
            END;
     
            DBMS_OUTPUT.PUT_LINE('RESULT : '||clob_buff);
     
        ELSE
            DBMS_OUTPUT.PUT_LINE('ERROR');
            UTL_HTTP.END_RESPONSE(response);
        END IF;
     
    END;
    /
    Et ça renvoie toujours cette erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ORA-29273: échec de demande HTTP
    ORA-29259: fin d'entrée atteinte
    ORA-06512: à "SYS.UTL_HTTP", ligne 380
    ORA-06512: à "SYS.UTL_HTTP", ligne 1127
    ORA-06512: à ligne 17
    Merci de votre aide.

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur Développeur
    Inscrit en
    Avril 2013
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

    Informations professionnelles :
    Activité : Ingénieur Développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 16
    Par défaut
    Citation Envoyé par vanagreg Voir le message
    Bonjour,

    Pour https il faut utiliser un Wallet, et à partir de la 11g tu dois créer des ACL (Access Control List). As-tu bien fait toutes ces actions?
    Bonjour, Effectivement j'ai déjà effectué ces actions. Pour le wallet j'ai vu un tutoriel qui parlait de ça et j'ai appliqué mais je pense pas que ça marche.
    Peut être que je l'ai mal exécuté je ne sais pas. En tout j'ai effectué toute les étapes dans le tuto.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. socket avec http
    Par djo0012 dans le forum C++
    Réponses: 10
    Dernier message: 16/07/2006, 01h27
  2. [Mail] Mail avec HTTP
    Par sezar dans le forum Langage
    Réponses: 7
    Dernier message: 23/04/2006, 22h09
  3. [HTML] Pb avec http-equiv="refresh"
    Par Sherkhan dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 23/01/2006, 09h20
  4. Publication d'un site web avec HTTP ou FTP ?
    Par Mohammed200 dans le forum Autres langages pour le Web
    Réponses: 1
    Dernier message: 07/12/2005, 16h12
  5. [MS-DOS] Lancement de MozillaFirebird avec http://localhost/
    Par Furius dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 22/11/2005, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo