Anmelden

View Full Version : REST-Link aufrufen in CL



Seiten : [1] 2

Miles
17-01-24, 14:08
Hallo,

ich will einen REST-Link aufrufen und überlege dies gerade in einem CL aufzururfen was für mich die leichteste möglichkeit wäre aber habe dies noch nie gemacht.
Diese CL soll im Batch laufen, so das es keinen screen hat oder anderen Zugriff.

Kann mir jemand etwas start hilfe geben?
Ist das überhaupt möglich in CL?

Danke uch.

Fuerchau
17-01-24, 14:48
Da die API's nur per SQL oder Socket-API funktionieren, ist da CLP oder CLLE außen vor.
Du brauchst also mindestem RPGLE oder COBOL.
C/C++ ginge aber auch.

Miles
17-01-24, 15:19
RPGLE sollte funktionieren, hast du eventuell ein Beitrage den ich lesen sollte dafür oder einen link?

Fuerchau
17-01-24, 17:29
Das sollte ggf. schon mal helfen:
https://www.midrange-events.de/wp-content/uploads/2020/11/JSON-and-Web-services-using-SQL_Sarah_Mackenzie_IBM.pdf

Rest ohne JSON gibts nicht.

Miles
17-01-24, 17:52
Vielen DANK, ich werde mir das mal direkt anschauen.

Miles
17-01-24, 18:04
Noch mal Danke, habe eine Frage noch.
ich will es über SQL nun lösen was auch funktioniert nur nicht aus STRQM.
bekomme dort immer die Fehlermeldung: "Character conversion between CCSID 65535 and CCSID 1200 not valid."
Wenn ich es über die Garfische Oberfläche per SQL laufen lassen funktioniert es ohne Problem.
Ich habe auch keine Sonderzeichen oder etwas anders drin, denke das kommt von der Antwort.

Nachtrag ich verwende den Befehl: SYSTOOLS.HTTPGETCLOB

Miles
17-01-24, 18:33
Hab den Fehlergefunden, DANKE hat funktioniert. Habe nach dem Fehler SQL0332 gesucht und habe eine Lösung gefunden das ich am besten die JOB-CCSID ändere auf 273. nun funktioniert es!

Andreas_Prouza
17-01-24, 18:53
Mitlerweile gibt es die HTTP-Funktionen in der QSYS2.
Die sind auch in C statt in Java geschrieben, wodurch keine JVM gestartet werden muss.
https://www.ibm.com/support/pages/new-http-functions-based-qsys2

Fuerchau
18-01-24, 08:22
Generell bei SQL gilt, dass der Job eine CCSID <> 65535 haben muss wenn man mit Unicode oder UTF8 arbeitet.

Übrigens: gute Idee das mit QMQRY zu machen;-)!

KM
19-01-24, 12:15
Hallo,

hätte man diesen SQL nicht auch mit einem einfachen RUNSQL oder mit QSH CMD('db2...') im CL-Programm aufrufen können?

Gruß,
KM