PHP, HTTPREQUEST POST via Curl mit SimpleXML?

... komplette Frage anzeigen

3 Antworten

Du könntest dem Betreiber der Schnittstelle auch einfach dein XML zeigen, wenn du uns den Content hier nicht zeigenoder die Schnittstelle, die du verwendest (inkl. Doku) offenlegen möchtest.

Ansonsten: warum schickst du keinen urlencoded-String? Bzw. kein Array? Laut Doku http://php.net/manual/de/function.curl-setopt.php sollst du das Feld entweder urlencoden oder als array senden. Du schickst hier einen String. Klar geht das - aber wenn hier niemand weiß, wie der Request strukturiert werden soll (soll der z.B. in einem bestimmten Feld übertragen werden?), dann kann dahingehend niemand helfen.

Also: Link zur Doku des Webservices?

Antwort bewerten Vielen Dank für Deine Bewertung

Hallo,

wenn die Fehlermeldung der anderen API sagt das dein XML falsch ist, dann ist das wohl auch so.

Sprich du solltest mal deine XML Ausgabe überprüfen. Und vielleicht solltest du auch mal nachschauen ob curl bzw. der Request den String codiert/escaped.

Grüße

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Plueschtier94
12.10.2016, 12:55

Hab ja beigeschrieben dass ich mir den XML gleichzeitig als Datei ausgebe. In der Datei ist er vorzüglich. 

Ich muss dazu sagen dass ich zum ersten Mal SimpleXML ebenso zum ersten mal Curl verwende, weswegen ich auf ein wenig unterstützung hoffe. 

0

Also ,

dein XML als POSTFIELD ???

und eine datei als POSTFIELD ???

Irgendwas stimmt da doch nicht beim Empfänger .

Wie schickt man den eine Datei als POSTFIELD ? Die URL ?

Sorry aber ohne die gegenseite zu kennen , macht das beschriebene irgendwie kein Sinn .

Wenn es eine Datei sein muss , wirst du kaum Data XML schicken können .

Und wenn es Data XML akzeptiert frag ich mich wie das mit einer gespeicherten XML funktionieren soll .

Also erklär uns mal wie die gegenseite das XML erwartet .


Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Plueschtier94
12.10.2016, 13:05

Gerne erläutere ich dir was. Danke schonmal für deine Antwort:

Aus der Dokumentation: 

Die API ist unter folgender URL per HTTP POST-Befehl zu erreichen. Der Content der Anfrage darf nur XML beinhalten!
Der Header Content-Type muss „Content-Type: text/xml; charset=UTF-8” lauten.

Mehr Informationen gibt es dazu leider nicht.'
Es geht sich hier um Artikeldaten, weswegen ich also mehrmals und regelmäßig diese Daten an die API schicken muss. Deswegen der Dynamische Weg über PHP und SimpleXML. 

Mittels SimpleXML erstelle ich mir mein gewünschtes XML. 
Das sieht wenn ich es als Datei ausgebe super aus. 

Ich habe ein Firefox Tool namens HttpRequester. Damit kann ich die Datei testweise an die API Adresse schicken weswegen ich weiß, dass das funktioniert. 

Hoffe es reicht so? 

1

Was möchtest Du wissen?