AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

CGI-Einzelanwendung

Ein Thema von BerTa · begonnen am 9. Mai 2016 · letzter Beitrag vom 1. Jun 2016
Antwort Antwort
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: CGI-Einzelanwendung

  Alt 27. Mai 2016, 02:30
Übergabe Brutto ouble eine XML Datei haben, welche ich in der Funktion verarbeite und eine XML-Datei als Antwort wieder zurück sende.
LESEN macht schlau...

oder wenn Du die XML Datei nicht interpretieren willst diese ggf. packen und als TByteDynArray senden.

Fertig... Ist nen 3 Zeiler
  Mit Zitat antworten Zitat
BerTa

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

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
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: CGI-Einzelanwendung

  Alt 27. Mai 2016, 09:26
Fehler? Welcher?
  Mit Zitat antworten Zitat
BerTa

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

AW: CGI-Einzelanwendung

  Alt 27. Mai 2016, 11:38
Im Projekt SOAPClient.exe ist eine Exception der Klasse EDOMParseError aufgetreten. Meldung: 'Processing instruction was not closed.

Linie: 1
<?xm'. Prozess wurde angehalten.
alles läuft, aber nichts geht...
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
984 Beiträge
 
Delphi 6 Professional
 
#5

AW: CGI-Einzelanwendung

  Alt 27. Mai 2016, 11:45
Hmm..

XML in XML..

Das wird wohl nur klappen, wenn du das eingebetete XML-Dokument verschleierst.

Woran soll den ein XML-Parser erkennen, dass das XML (Soap) ein eingebetetstes XML hat?

Also gehe hin und Codiere dein XML-Stream als z.B. Base64 und packe es so in die Soapresponse. Dann Wird der SOAP-Parser dieses als Value überlesen!

Hmm..
Irgendwie habe ich ein DejaVu..
Wurde genau dieses Problem nicht hier im Forum mal behandelt?
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.154 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: CGI-Einzelanwendung

  Alt 27. Mai 2016, 12:27
Nein wieso...

TByteDynArray wird doch automatisch codiert...
Abgesehen davon klapp es ja, wenn der File auf der Platte liegt.

BTW. Packen nicht vergessen!

Ich denke uns fehlt ein bisschen an Infos..
  Mit Zitat antworten Zitat
BerTa

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

AW: CGI-Einzelanwendung

  Alt 1. Jun 2016, 06:40
Was brauchst du denn an Informationen?
alles läuft, aber nichts geht...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz