Thema: Delphi CGI-Einzelanwendung

Einzelnen Beitrag anzeigen

BerTa

Registriert seit: 31. Aug 2004
Ort: Dinklage
77 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: CGI-Einzelanwendung

  Alt 27. Mai 2016, 07:06
Hi,
Ich habe mich jetzt mal daran versuch es über ein ByteDynArray zu lösen.
Auf dem Server habe ich mit nun ein XML-Dokument erzeugt welches ich zurück geben will.

Server:
Code:
UebXml := TXMLDocument.Create(nil);
UebXml.Active := True;
UebXml.Version := '1.0';
UebXml.Encoding := 'UTF-8';
UebXml.Options := UebXml.Options + [doNodeAutoIndent];
UebXml.DocumentElement := UebXML.CreateNode('APsolutXML', ntElement, '');
UebXml.DocumentElement.AddChild('response').AddChild('status').NodeValue := 0;
UebXml.DocumentElement.ChildNodes.Nodes['response'].AddChild('status_text').NodeValue := 'Status Test';

lResponse := TMemoryStream.Create;
UebXml.SaveToStream(lResponse);

setlength(bytedynarray,lResponse.size);
lResponse.position:=0;
lResponse.read(bytedynarray[0],lResponse.size);

result := bytedynarray;
Am Client verarbeite ich nun die Daten bekommen aber einen Fehler, wenn ich das XML-Dokument aus dem Stream lade. Speichere ich erst eine Datei ab und lade das Dokument dann aus der Datei, scheint es zu laufen.

Client:
Code:
ByteDynArray2 := Service.PruefUser(ByteDynArray);
ByteArrayToFIle(ByteDynArray2,'Client_Response.xml');
lResponse.Write(ByteDynArray[0],SizeOf(ByteDynArray));
lResponse.Position := 0;

UebXml.LoadFromFile('Client_Response2.xml');
UebXml.LoadFromStream(lResponse);
Da der Server und der Client die XML-Dokumente auch weiter verarbeiten sollen, ist es notwendig das XML-Dokument auch wieder einzulesen. Der Umweg über eine Datei ist nicht so schön.
alles läuft, aber nichts geht...
  Mit Zitat antworten Zitat