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...