Hi Gad,

when I try to run your query with SYSTOOLS.HTTPGETBLOB I'm receiving an more or less helpful error message.

After poking around on 7.5 with QSYS2.HTTP_GET and QSYS2.HTTP_GET_BLOB I found out, that the SSL connection could not be established, due to an server certificate that was not signed by an authorized certificate instance.

First - if possible (7.4 or 7.5) you should replace the SYSTOOLS.HTTPGETBLOB call with a call to QSYS2.HTTP_GET_BLOB - the new QSYS2 functions are so much faster.

Second - to get around the certificate error, you have different options:

a) download the certificate of the server and store it in the system certificate store

b) download the certificate of the server into a certificate file and use this

qsys2.http_get_blob(
'https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml',
'{"sslCertificateStoreFile":"/home/TrustStore/CertStore.KDB"}'
)

c) ignore the certificate signing error by setting option "sslTolerate" to true:

qsys2.http_get_blob(
'https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml',
'{"sslTolerate":"true"}'
)

Read more about the new HTTP_GET functions here: https://www.ibm.com/docs/en/i/7.5?topic=functions-http-get-http-get-blob

HTH and kind regards,
Daniel


Am 24.02.2025 um 19:43 schrieb Gad Miron <gadmiron@xxxxxxxxx>:

hello sages

For the last 9-10 years I have been pulling Euro exchange rates from the
European Central Bank
using the following partly comprehensible SQL..
This SQl statements started failing a week or so ago.
I admit to an (almost complete) ignorance of the XMLTABLE SQL function
and would greatly appreciate a pointer or two (or three)
TIA
Gad

insert into GAD/EXCHGRATEF select RATE_TIME as DATE,'EUR' as
BASECURR, CURRENCY as CURRCDE, RATE as EURRATE, RATE as
CURRRATE, 'European Central Bank' as SOURCE

from (SELECT my_cube.rate_time, my_cube.currency, my_cube.rate

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-daily.xml' , '' )
)

COLUMNS currency CHAR(3) PATH '@currency' , rate DECIMAL(10,4) PATH
'@rate' , rate_time DATE PATH '../@time' ) my_cube ) tmp

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.