Arnie
08-11-19, 13:06
Hallo zusammen,
ich wollte eben mal das Beispiel aus dem IBM-Dokument "accessing_web_services_using_ibm_db2_for_i_udfs_an d_udtfs.pdf (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=2ahUKEwjsi5KX0trlAhUBC-wKHdgaBJMQFjAAegQIABAC&url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fc ommunity%2Fwikis%2Fform%2Fanonymous%2Fapi%2Fwiki%2 Fbb5007a3-d52b-44e4-a2bc-4e56b454ff0f%2Fpage%2F5ac75e56-a02f-425d-91a5-ab0719e65416%2Fattachment%2Fa24f17a3-093c-40b5-ad7b-943bbaaf9eb6%2Fmedia%2Faccessing_web_services_usin g_ibm_db2_for_i_udfs_and_udtfs.pdf&usg=AOvVaw2MrsVEYPP_yion2Z8CAg3-)" durchspielen, komme aber beim Abruf der Wechselkurs-XML-Datei über HTTPS nicht weiter. Speichere ich die Datei auf einem eigenen Webserver ohne SSL, kann ich sie problemlos über HTTP abrufen.
VALUES SYSTOOLS.HTTPGETCLOB('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml',''); liefert z.B. folgende Fehlermeldung:
SQL State: 38000 Vendor Code: -4302 Message: [SQL4302] Java stored procedure or user-defined function SYSTOOLS.HTTPGETCLOB, specific name HTTPG00005 aborted with an exception "java.net.UnknownHostException:www.ecb.europa.eu". Cause . . . . . : The Java stored procedure or user-defined function aborted with a Java exception. If SQJAVA component trace is on, then the component trace for the job contains a Java stack traceback for the aborted method. Recovery . . . : Debug the Java method to eliminate the exception.
Bisher versucht:
- das von der EZB heruntergeladene Zertifikat zum Java-Zertifikatsspeicher hinzugefügt
keytool -import -file /home/arnie/www_ecb_europa_eu.crt -alias ECB -keystore /QOpenSys/QIBM/ProdData/JavaVM/jdk71/32bit/jre/lib/security/cacerts -storepass changeit -noprompt
=> Das Zertifikat wurde im Schlüsselspeicher hinzugefügt.
Das habe ich zusätzlich auch für .../64bit/... durchgeführt, wobei das 32-Bit-Verzeichnis in den Umgebungsvariablen steht.
Leider erfolglos, der Fehler kommt nach wie vor.
Was muss ich noch machen, damit der Abruf über SSL funktioniert?
Danke!
ich wollte eben mal das Beispiel aus dem IBM-Dokument "accessing_web_services_using_ibm_db2_for_i_udfs_an d_udtfs.pdf (https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=2ahUKEwjsi5KX0trlAhUBC-wKHdgaBJMQFjAAegQIABAC&url=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Fc ommunity%2Fwikis%2Fform%2Fanonymous%2Fapi%2Fwiki%2 Fbb5007a3-d52b-44e4-a2bc-4e56b454ff0f%2Fpage%2F5ac75e56-a02f-425d-91a5-ab0719e65416%2Fattachment%2Fa24f17a3-093c-40b5-ad7b-943bbaaf9eb6%2Fmedia%2Faccessing_web_services_usin g_ibm_db2_for_i_udfs_and_udtfs.pdf&usg=AOvVaw2MrsVEYPP_yion2Z8CAg3-)" durchspielen, komme aber beim Abruf der Wechselkurs-XML-Datei über HTTPS nicht weiter. Speichere ich die Datei auf einem eigenen Webserver ohne SSL, kann ich sie problemlos über HTTP abrufen.
VALUES SYSTOOLS.HTTPGETCLOB('https://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml',''); liefert z.B. folgende Fehlermeldung:
SQL State: 38000 Vendor Code: -4302 Message: [SQL4302] Java stored procedure or user-defined function SYSTOOLS.HTTPGETCLOB, specific name HTTPG00005 aborted with an exception "java.net.UnknownHostException:www.ecb.europa.eu". Cause . . . . . : The Java stored procedure or user-defined function aborted with a Java exception. If SQJAVA component trace is on, then the component trace for the job contains a Java stack traceback for the aborted method. Recovery . . . : Debug the Java method to eliminate the exception.
Bisher versucht:
- das von der EZB heruntergeladene Zertifikat zum Java-Zertifikatsspeicher hinzugefügt
keytool -import -file /home/arnie/www_ecb_europa_eu.crt -alias ECB -keystore /QOpenSys/QIBM/ProdData/JavaVM/jdk71/32bit/jre/lib/security/cacerts -storepass changeit -noprompt
=> Das Zertifikat wurde im Schlüsselspeicher hinzugefügt.
Das habe ich zusätzlich auch für .../64bit/... durchgeführt, wobei das 32-Bit-Verzeichnis in den Umgebungsvariablen steht.
Leider erfolglos, der Fehler kommt nach wie vor.
Was muss ich noch machen, damit der Abruf über SSL funktioniert?
Danke!