Entwickler-Ecke
Internet / Netzwerk - RAW Data nach HTTP header
Klabautermann - Mi 27.09.06 12:10
Titel: RAW Data nach HTTP header
Hallo Leute,
ich möchte Daten an ein webservice (welche von einem Partnerunternehmen entwickelt wurde) übergeben. Diese liegen im XML-Format vor. Die Schnitstelle verlangt nun dass die Daten als "HTTP-RAW-POST-DATA" hinter dem Header angehängt werden. Also quasi als Parameter ohne Bezeichnung. Meine Frage ist nun, wie verwirkliche ich das am Geschicktesten in Delphi.
Die idHTTP Komponente scheint mir da nicht Flexibel genug zu sein oder ich habe nur noch nciht erkannt wie ich das mache.
Hat jemand eine Idee wie ich es am einfachsten löse?
Gruß
Klabautermann
wulfskin - Mi 27.09.06 13:26
Hallo Björn,
ich kenn mich nicht damit aus, deshalb kann es sein, dass ich dir jetzt Blödsinn erzähle. Verzeih mir deshalb im Sinne des guten Willens:
Ich hab gerade im PSDK nachgeschaut und die Funktion
HTTPADDREQUESTHEADERS gefunden. Auf den ersten Blick scheint es damit zu tun zu haben:
| PSDK hat folgendes geschrieben: |
| Adds one or more HTTP request headers to the HTTP request handle. |
Vielleicht ist es ja genau dass, was du suchst...
Gruß Hape!
Klabautermann - Mi 27.09.06 13:40
Hallo,
danke für den Tipp, aber dabei scheint es sich mir um eine .NET Funktion zu handeln, ich aberbeite aber an einem Win32 Programm.
Gruß
Klabautermann
wulfskin - Mi 27.09.06 13:48
Klabautermann hat folgendes geschrieben: |
Hallo,
danke für den Tipp, aber dabei scheint es sich mir um eine .NET Funktion zu handeln, ich aberbeite aber an einem Win32 Programm. |
Nein, wie kommst du drauf? Ist in Unit
WinInet deklariert.
Gruß Hape!
Tino - Mi 27.09.06 14:00
Hi Björn,
kannst du nicht über
Delphi-Quelltext
1:
| (TIdHTTP).Request.CustomHeaders.Add ('{...}'); |
Daten an den Header dran hängen?
Jedenfalls hat das bei mir vor ein paar Tagen funktioniert. Ich musste auch etwas spezielles an den Header dran hängen damit ich mit der API von Google (GDATA) arbeiten kann.
Gruß
Tino
Klabautermann - Mi 27.09.06 14:08
Hallo Tino,
ich probiere das gleich mal aus, aber landen die Daten dabei nicht im Header? Ich muss sie ja hinter den Header bekommen.
Gruß
Klabautermann
Klabautermann - Mi 27.09.06 14:41
Hallo Tino,
das hat leider nicht das Gewünschte ergebnis. Ich bekomme noch immer die albekannte Antwort:
| Webservice hat folgendes geschrieben: |
| no postdata available |
Gruß
Klabautermann
wulfskin - Mi 27.09.06 15:32
Hallo,
hab dir nochmal ein Vorschlag:
| PSDK hat folgendes geschrieben: |
lpOptional
Pointer to a buffer containing any optional data to be sent immediately after the request headers. This parameter is generally used for POST and PUT operations. The optional data can be the resource or information being posted to the server. This parameter can be NULL if there is no optional data to send. |
Die Funktion heisst
HTTPSENDREQUEST in der Unit
WinInet.
Gruß Hape!
Klabautermann - Do 28.09.06 08:43
Hi,
wulfskin hat folgendes geschrieben: |
Klabautermann hat folgendes geschrieben: | Hallo,
danke für den Tipp, aber dabei scheint es sich mir um eine .NET Funktion zu handeln, ich aberbeite aber an einem Win32 Programm. | Nein, wie kommst du drauf? Ist in Unit WinInet deklariert. |
Drauf gekommen war ich den Blauen Header über der Funktionsbeschreibung, die gibt es zu lesen:
| msdn hat folgendes geschrieben: |
Microsoft Windows CE .NET 4.2
HttpSendRequest |
Also sogar WinCE und .NET. Aber wenn du sagst es müsste auch in der normalen WinApi vorhanden sein werdse ich das mal ausprobieren, auch wenn ich auf einen schnuckeligen Indy-Weg (zwei bis dreizeiler ;)) gehofft habe.
Gruß
Klabautermann
Klabautermann - Do 28.09.06 10:53
Hallo Leute,
ich kann entwarnung geben. Die lösung war sehr einfach und ich habe sie gestern nur beim ewigen Starren auf die idHTTP Komponente übersehen. Es gibt nämlich eine überladene Version von tidHttp.post welche anstelle der Stringlist mit Parametern einen Stream entgegennimmt. Wenn ich mein XML-Text in einen Stream lade und auf diese Art direkt übergebe klappt es ohne Probleme.
Danke für eure Hilfe
Klabautermann
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!