bubs_http_util PL/SQL voor het ophalen van webpagina’s als CLOB of BLOB
De Invantive producten bevatten een uitgebreide Oracle PL/SQL bibliotheek waarmee je:
- conversies kunt uitvoeren,
- webservices voor het ophalen het Kadaster, Kamer van Koophandel of verkoopinformatie kunt benaderen,
- webpagina’s opvragen en
- achtergrondprocessen kunt starten.
Een van de packages in de PL/SQL bibliotheek is “bubs_http_util”. Met de “bubs_http_util” PL/SQL package kun je webpagina’s ophalen in CLOB of BLOB formaat. Plaatjes haal je meestal op als BLOB, maar tekstpagina’s in HTML-formaat meestal als CLOB. Daarnaast kunnen de opgevraagde webpagina’s automatisch bewaard worden in het Invantive Producer cache zodat je ze een volgende keer sneller kunt ophalen.
Een voorbeeld van het gebruik van bubs_http_util voor het ophalen van de webpagina van de Triodos bank vanuit SQL is:
select bubs_http_util.get_content_as_clob('https://www.triodos.nl')
from dual
Je kunt ook de inhoud van webpagina’s en plaatjes opvragen via HTTPS. Zorg er dan wel voor dat je de certificaten vooraf in je Oracle Wallet zet. Een klein voorbeeld:
select bubs_http_util.get_content_as_clob('https://www.triodos.nl')
from dual
ORA-28784: file name translation failure (“vertalen bestandsnaam mislukt”)
Bij het gebruik van de PL/SQL package bubs_http_util kan een ORA-28784 foutmelding optreden. Je zult dan ook “SYS.UTL_HTTP” in de call stack zien staan. Over deze foutmelding is geen openbare documentatie beschikbaar.
Als je deze ORA-28784 foutmelding krijgt bij het opvragen van de inhoud van een webpagina of afbeelding via HTTPS, voer dan de volgende stappen uit:
-
Controleer de profieloptiewaardes die beginnen met “bubs-auth-http%” (zie plaatje).
-
Een ORA-28784 melding treedt op als hierin een incorrecte waarde staat, bijvoorbeeld een dollar-teken (‘$’).
-
Corrigeer de waardes zodat bij het openen van Oracle Wallet geen ORA-28784 foutmelding meer optreedt.