-
Leider klappt das ganze noch nicht so, wie ich mir das vorstelle, Ich wollte die SQL-Lösung von Andreas etwas auseinanderziehen, damit es übersichtlicher wird. Außerdem möchte ich den Response nicht in einer Extra-Datei speichern, sondern lieber in einer Hostvariablen des SQLRPGLE-Programms ablegen.
Jetzt habe ich anscheinend aber ein Zeichensatzproblem. Ich speichere den ResponseHeader zunächst in einem Clob, das folgendermaßen deklariert ist:
Code:
dcl-s responseHeaderClobDS sqltype(CLOB:100000);
Dann speichere ich den Clob-Inhalt in eine "normale" Variable vom Typ varucs2:
Code:
dcl-s httpHeaderString varucs2(2000);
httpHeaderString = %subst(responseHeaderClobDS_data:1:responseHeaderClobDS_len);
Jetzt lese ich aus dem Header die gewünschten Werte:
Code:
exec sql select * into :responseCode, :responseMsg
from xmltable('/httpHeader' passing xmlparse(document :httpHeaderString)
columns resCode varchar(128) path '@responseCode',
resMsg varchar(128) path 'responseMessage') msg;
Dabei bekomme ich den SQL Fehlercode -16168. Der erweiterte Fehlertext (für die aufgetretene Fehlerart 7) ist: XML-Deklaration in XML-Dokument ungültig. ... Angegebene Codierung wird nicht unterstützt oder interne Codierung weicht von externer Codierung ab.
Ich glaube, dass das an dem Beginn des XML-Strings liegt. Dort steht ?xml version="1.0" encoding="UTF-8" drin. Wenn ich diesen Teil manuell aus dem XML-String entferne, liefert mir die xmltable-Funktion die korrekten Werte.
Ich dachte, wenn ich die HeaderString Variable ucs2 deklariere, müsste das auch UTF-8 umfassen.
Hat jemand eine Idee?
Dieter
-
Hallo Baldur, wir haben eben fast zeitgleich gepostet. Ich habe nochmal einen Test gemacht und das @-Zeichen einfach weggelassen. Ich hätte dann eine andere Fehlermeldung erwartet. Aber ich bekomme immer noch die gleiche Fehlermeldung "XML-Deklaration ... ungültig".
Ich habe wahrscheinlich ein Zeichensatzproblem, aber es liegt nicht (allein) am @-Zeichen, denke ich.
Andreas hat in seinem Post noch geschrieben:
Du kannst dir aber auch eine Tabelle mit einer Auflistung aller HTTP-Headerinformationen ausgeben lassen. Darin ist dann u.a. auch der HTTP Code enthalten.
Heißt das, dass es da noch eine einfachere Lösung gibt?
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 25
Letzter Beitrag: 14-02-18, 11:11
-
By Bratmaxxe in forum NEWSboard Programmierung
Antworten: 15
Letzter Beitrag: 21-12-17, 08:29
-
By KM in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 25-04-17, 09:44
-
By rischer in forum IBM i Hauptforum
Antworten: 28
Letzter Beitrag: 02-10-15, 11:36
-
By pille in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 28-11-02, 09:37
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