-
http_url_get mit unicode
Hallo liebe Forumsteilnehmer,
kann mir jemand bei folgender Problemstellung helfen?
Wir müssen öfter Webservices von RPG aus aufrufen. Früher haben wir das mit der LIBHTTP von Scott Klement gemacht. In letzter Zeit nutzen wir dazu fast immer die SQL Funktionen von IBM (z.B. systools.httpGetClob).
Leider hat IBM diese Funktionen in Java implementiert. Bei Erstaufruf einer Funktion dauert es immer mehrere Sekunden, bis die JVM hochzogen wurde. Wenn man die Sitzung dann länger nicht benutzt, dauert es wieder einige Zeit, bis die JVM wieder "reaktiviert" wurde.
An bestimmten Programmstellen ist uns das zu langsam. Deshalb überlege ich, ob man das nicht doch wieder "manuell" mit den Funktionen aus LIBHTTP machen sollte.
Wenn ich so ein Tool (ein Serviceprogramm) schreiben würde, das eine url und einen header bekommt und das Ergebnis dann als String zurückliefert, würde ich das gerne etwas zukunftssicherer bauen. Das heißt, ich würde die Parameter des Tools gerne UTF-8 fähig machen. Da bleibt mir dann ja nichts anderes übrig, als die Parameter und den Rückgabewert mit ucs2 oder varucs2 zu definieren, denke ich.
Die Frage ist, ob die Scott Klement Tools mit so einem double Byte character Set umgehen können? Hat da schon jemand Erfahrung?
Außerdem eine weitere Frage: Wir haben eine relativ alte Version der LIBHTTP im Einsatz. Inzwischen kann man bei Scott Klement die Version 1.39 herunterladen. Kann ich die alte Lib einfach durch die neue austauschen? Gibt es da Kompatibilitätsprobleme?
Hat vielleicht jemand ein (möglichst einfaches) Code Snippet, das den Aufruf eines Webservices für das gegebene Problem enthält.
Bisher haben wir Codes, die etwa das folgende tun:
Code:
url = 'http://test.api.';
// Header setzen:
http_xproc( HTTP_POINT_ADDL_HEADER : %paddr(setHeader));
// URL aufrufen:
rc = http_url_get_raw(url:1:%paddr(getResult):60);
HTTP_xlatep(retlen:%addr(retdata):TO_EBCDIC);
Im Voraus vielen Dank!
Dieter
-
Scott stellt ja ebenso auch die Quellen zur Verfügung.
Schau mal nach, ob in den Quellen nicht sowieso alles als Character und daher Binär verwendet wird.
Dann hast du keine Probleme.
Du benötigst nur eine Konvertierung zwischen UTF8 (CCSID 1208) und UCS2, was im ILERPG durch Definitionen und Zuweisung erreicht wird.
dcl-s MyUnicode varucs2(100);
dcl-s MyUtf8 varchar(200) ccsid 1208;
MyUnicode = MyUtf8;
MyUtf8 = MyUnicode;
Scott arbeitet dann automatisch mit UTF8, nur deine Aufrufe müssen halt umwandeln.
Ggf. muss man auch einen Overlay definieren damit der Compiler stillhält:
dcl-ds MyDs;
MyUtf8 varchar(200) ccsid 1208;
MyChar varchar(200) pos(1);
end-ds;
-
... dürfte eigentlich nicht zu schwierig sein, eine HTTPGETCLOB zu schreiben, die das ordentlich macht - sprich: auf einer prestarted JVM läuft.
D*B
-
Vielen Dank für eure Antworten.
Ich habe gerade in einem Telefonat mit Rainer Ross noch eine ganz neue Idee erhalten, das Problem zu lösen. Und zwar gibt es von IBM die sogenannten axis-Tools. Die scheinen genau die Funktionen zu bieten, die ich suche. Man benötigt dann gar keine externe Lib von Scott Klement, sondern kann die von IBM direkt mitgelieferten nativen Tools nutzen.
Rainer hat mir die Nutzung der Tools sehr ausführlich geschildert und sich sehr kompetent und hilfsbereit gezeigt. Dafür nochmals herzlichen Dank!
Auch nochmals Danke an die anderen Antwortenden!
Ich denke, meine Frage hat sich damit erledigt.
Dieter
-
Die Axis Bibliotheken kann ich auch nur empfehlen. Der Entwickler seitens IBM war bisher auch immer sehr hilfsbereit und offen für neue Implementierungswünsche.
Wir haben bei uns das Tool noch in ein Service Programm gekapselt, um die Benutzung zu vereinheitlichen.
Gruß,
Manuel
-
Hallo Manuel,
genau diese Kapselung in ein Serviceprogramm werden wir auch vornehmen.
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 19-12-18, 13:06
-
By Rainer Ross in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 28-10-16, 16:16
-
By spiceisnice in forum IBM i Hauptforum
Antworten: 14
Letzter Beitrag: 21-10-14, 17:06
-
By NollW in forum NEWSboard SAP
Antworten: 4
Letzter Beitrag: 12-07-07, 07:58
-
By NollW in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 12-07-07, 07:58
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks