05a - Varie Web Service con IBM i

Recuperare i cambi Euro/altre monete dalla BCE?

Aggiornamento del 16/07/2026: Approfitto della segnalazione di Silvano per aggiornare questa pagina: con HTTPGETCLOB va sempre in errore, ho provato HTTP_GET e funziona correttamente … è sicuramente ancora un problema di certificati HTTPS. Ho aggiornato il repo gist con la nuova versione HTTP_GET e funziona.

Riprendo questo vecchio post da Faq400.com … prima del blog …perché un un post ancora molto ricercato nonostante abbia i suoi anni!

Alcuni miei clienti inserivano nella tabella dei cambi l’aggiornamento degli stessi tutti i giorni o, almeno, una volta alla settimana.

Con un una piccola procedura RPG e SQL, tramite le funzioni HTTP di SQL stesso, vado a prendere i cambi direttamente dal portale della BCE tramite un ottima WEB API messa a disposizione.

Ho messo il sorgente in questo repository Gist di Github

https://gist.github.com/Faq400Git/72431bdeb7998b081cce3b29cb0fe89a

Se guardi il sorgente è una semplice procedure che chiama il web service con HTTPGETCLOB (no, dal 2026 HTTP_GET!!) SQL e ne fa il parsing tramite le funzioni XMLTABLE sempre con SQL … semplice no?

Attenzione … il servizio della BCE è HTTPS … il tuo sistema deve essere configurato per SSL … con l’installazione degli appositi prodotti programma di sistema operativo e con almeno il certificato *SYSTEM nella DCM … come spiegato a questo link: (https://www.ibm.com/support/pages/how-create-system-store-dcm)

Aggiornamento Febbraio 2025: Ho appena aggiunto un post con una guida pratica all’aggiornamento dei certificati per Java e DCM: Aggiornamento Certificati CA per BCE: Guida Pratica

Related Posts
Aggiornamento Certificati CA per BCE: Guida Pratica

Guida pratica all'aggiornamento dei certificati Java e DCM per consumo web services via SQL HTTPGETCLOB e HTTP_GET.

--- Roberto De Pedrini Faq400.com

View Comments

  • Ciao, da qualche giorno a questa parte la procedura per download cambi dal sito della BCE non funziona più.

    La query che copio qui di seguito ritorna il seguente errore:

    Stato SQL: 38000
    Codice fornitore: -4302
    Messaggio: [SQL4302] La procedura memorizzata Java o la funzione definita dall'utente SYSTOOLS.HTIPGETBLOB e il nome specifico
    HTTPG00001 sono stati interrotti con un errore "java.lang.NullPointerException:null". Causa ..: La procedura memorizzata Java o la funzione definita dall'utente è stata interrotta con una eccezione Java. Se la traccia del componente SQJAVA è attiva, la traccia del componente per il lavoro contiene uno stack Java per il metodo interrotto. Correzione: Debug del metodo Java per eliminare l'errore.

    QUERY SQL que ritorna l'errore:
    select time, currency, dec(round(dec(rate, 20, 14), 4), 18, 10) from
    (
    SELECT * FROM XMLTABLE ( XMLNAMESPACES
    ( DEFAULT 'http://www.ecb.int/vocabulary/2002-08-01/eurofxref' ,
    'http://www.gesmes.org/xml/2002-08-01' AS "gesmes") ,
    'gesmes:Envelope/Cube/Cube/Cube' PASSING XMLPARSE
    ( DOCUMENT SYSTOOLS.HTTPGETBLOB
    ('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist-90d.xml',
    ''))
    COLUMNS currency CHAR(3) PATH '@currency',
    rate REAL PATH '@rate',
    time DATE PATH '../@time') AS ExchangeRates
    ) x

    Vi ringrazio in anticipo per l'aiuto che ci vorrete dare.
    Buona giornata.
    Silvano Pacifici
    Viba Spa

Recent Posts

VsCode Extension: Bob Cozzi’s RPG IV to RPG Free Conversion

L’estensione “RPG IV to Free Format Conversion” sviluppata da Bob Cozzi (Cozzi Research) è pensata per semplificare la conversione di…

11 mesi ago

IBM i & SQL Tips #010 – Localizzare programmi nella Call Stack con STACK_INFO

Ciao a tutti, oggi voglio segnalarvi un altro interessante contributo di Massimo Duca, parte della sua ormai nota serie IBM…

11 mesi ago

Display file DDS Edit per VsCode, nuova preview.

Incuriosito da alcuni messaggi di Cristian Larsen su Linkedin (New Release - Display File DDS Edit v.0.10.1) ho voluto scaricare…

11 mesi ago

Project Bob: il nuovo strumento AI di IBM per sviluppo COBOL su IBM Z e RPG su IBM i

Ciao a tutti,oggi voglio segnalarvi un annuncio che potrebbe segnare una svolta per lo sviluppo applicativo su ambienti IBM: Project…

11 mesi ago

IBM i & SQL Tips #6: chiamare API REST e analizzare le risposte JSON con SQL

Voglio segnalarvi un nuovo articolo molto interessante di Massimo Duca nella serie IBM i & SQL Tips. In questo sesto…

12 mesi ago

Come funziona il passaggio di parametri a un programma IBM i (RPG / Cobol)

Ciao a tutti, voglio segnalarvi un post molto utile di Marco Riva sul suo sito Markonetools, in cui spiega in…

12 mesi ago