responseXML in einem HTTP-Request in XMLPort übergeben

18. Dezember 2009 10:38

Hallo Zusammen,
ich habe einen HTTP-Request geschrieben, welcher mir als Antwort ein XML-File liefert. Wie bekomme ich diese Antwort am elegantesten an einen XML-Port übergeben? Im Moment funktioniert folgende (etwas unschöne Lösung):

Verwendete Variablen:
XMLHttpConn --> 'Microsoft XML, v6.0'.ServerXMLHTTP
XMLDoc --> 'Microsoft XML, v6.0'.DOMDocument
XMLFile --> File
XP2 --> XMLPort
InStr --> InStream

Codeauszug (senden und empfangen des HTTP-Request kommt natürlich vorher schon):
XMLDoc.load(XMLHttpConn.responseXML);
XMLDoc.save('C:\Daten\readstr.xml');
XMLFile.OPEN('C:\Daten\readstr.xml');
XMLFile.CREATEINSTREAM(InStr);
CLEAR(XP2);
XP2.SETSOURCE(InStr);
XP2.IMPORT;

Ich würde natürlich am liebsten das Zwischenspeichern in eine Datei vermeiden, finde jedoch keine Lösung wie ich die responseXML direkt in den InStream bekomme.
Das hier:

XMLDoc.load(XMLHttpConn.responseXML);
XMLDoc.save(InStr);
CLEAR(XP2);
XP2.SETSOURCE(InStr);
XP2.IMPORT;

lässt sich compilieren und auch ausführen, führt aber zu einer Fehlermeldung durch den XMLPort. InStr liefert in dem Fall scheinbar keine Daten.

Hat jemand eine Idee?

Danke für eure Hilfe!

Re: responseXML in einem HTTP-Request in XMLPort übergeben

18. Dezember 2009 17:41

Hallo Critter2000,

mir fällt auf, daß in der funktionierenden Variante
Code:
XMLDoc.save('C:\Daten\readstr.xml');


steht, und in der nicht funktionierenden Variante
Code:
XMLDoc.save(InStr);


Ist es möglich, daß XMLDoc.save mit InStreams als Parameter
nicht umgehen kann?

Test: Wenn du in der zweiten Variante den InStr mit einem BLOB verbindest,
und dieses BLOB dann mit OutStr in eine Datei exportierst, steht dann dort
was drin?

Gruß Torsten