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…

9 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…

9 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…

10 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…

10 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…

10 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…

10 mesi ago