Ich muss mittels eines eigenen Programmes eine XML-Datei zu eimem Server
senden und dessen Antwort verarbeiten.
Alle Muster-Codes, die ich finde, benutzen CURL. Dieses setzt aber die
Installation der entsprechenden libcurl.dll und weiterer (CURL ist
abhängig von libssl usw.) voraus, was ich aber eigentlich vermeiden
will.
Theoretisch bekomme ich die XML-Datei auch per HTTP-POST zum Server
gebeamt, dann muss ich aber der POST-Variablen einen Namen geben. CURL
braucht das nicht (siehe Beispielcode).
Kann es sein, dass die "#8221" der Name der POST-Variablen ist?
Beispielcode mit CURL:
Bekomme als Antwort aber immer nur eine Fehlermeldung "... xml is well
formed but not valid". Das XML ist aber so kurz (20 Zeilen) und einfach
und übersichtlich, da kann man eigentlich keinen Fehler machen. Auch
andere Beispieldateien aus dem Web gehen nicht. :-(( Tips?
Frank E. schrieb:> Bekomme als Antwort aber immer nur eine Fehlermeldung "... xml is well> formed but not valid". Das XML ist aber so kurz (20 Zeilen) und einfach> und übersichtlich, da kann man eigentlich keinen Fehler machen. Auch> andere Beispieldateien aus dem Web gehen nicht. :-(( Tips?
auf jeden Fall musst du die gleiche URL verwenden, also auch das &# mit
dran schreiben.
Bei Post muss es nicht zwingend namen für Variablen geben. Man kann auch
einfach Daten posten, also das XML.
Wenn man jetzt noch wüsste welches Sprache und Framework du nutzt,
könnte man eventuell helfen.
Peter II schrieb:> auf jeden Fall musst du die gleiche URL verwenden, also auch das &# mit> dran schreiben.
Also wenn ich &# an die URL hänge (oder nur eines von beiden), bekomme
ich eine Fehlermeldung 404 (Server bzw. URL nicht gefunden).
> Bei Post muss es nicht zwingend namen für Variablen geben. Man kann auch> einfach Daten posten, also das XML.
Ja, habe ich auch schon gemacht d.value("")=xmlrequest, Ergebnis ist
selbige Meldung wie Oben beschrieben (... not valid ...).
>> Wenn man jetzt noch wüsste welches Sprache und Framework du nutzt,> könnte man eventuell helfen.
Sprache ist Xojo, schrieb ich schon oben, ist ein OOP-Basic. Die
Originalcodes mit CURL sind PHP (sieht man am $ vor jeder Variablen),
aber davon will ich ja weg.
Frank E. schrieb:> Ja, habe ich auch schon gemacht d.value("")=xmlrequest, Ergebnis ist> selbige Meldung wie Oben beschrieben (... not valid ...).
dann fügt er vermutlich immer noch ein "=" in die Daten ein.
> Also wenn ich &# an die URL hänge (oder nur eines von beiden), bekomme> ich eine Fehlermeldung 404 (Server bzw. URL nicht gefunden).
stimmt das # und alles was danach kommt wird ja nicht zum Server
übertragen, vermutlich entfernt curl das automatisch.
Frank E. schrieb:> Sprache ist Xojo, schrieb ich schon oben, ist ein OOP-Basic.
ok, wusste nicht das das eine Sprache ist. Da kann ich nicht
weiterhelfen.
Ich habe es jetzt nochmal ausführlich getestet: Exakt ein und die selbe
XML-Datei wird per PHP/CURL akzeptiert, per HTTP-POST jedoch nicht ("...
well formed but not valid ...").
Also: Was macht CURL anders als HPPT-Post?
Muss ich wirklich erst Wireshark auspacken, oder weiss das jemand?
Danke.
Frank E. schrieb:> Also: Was macht CURL anders als HPPT-Post?
wie schon oben geschrieben, er versucht das ganze in Variabel zu packen.
Du darfst vermutlich nicht mit d.value arbeiten sondern d.content oder
so.
bluppdidupp schrieb:> XML wird vermutlich statt setformdata() eher diese Funktion relevant> sein:> http://docs.xojo.com/index.php/HTTPSecureSocket.Se...> (Content-Type ist dann üblicherweise "text/xml" oder "application/xml")
Hammer! Danke! Genau das war es ... man lernt nie aus. :-)))