2012-03-26 5 views
0

Tut mir leid, wenn das zu behebend oder sich wiederholend in irgendeiner Weise ist, aber ich brauche einen Rat. Ich bin ein PHP-Typ und ich wurde gebeten, eine containerartige App zu erstellen, um unseren Yahoo zu erfassen! Filialaufträge Daten, die als XML mit dieser DTD gesendet wird:Yahoo Bestellungen exportieren XML - Web-Services?

http://help.yahoo.com/l/us/yahoo/smallbusiness/store/order/retrieve/retrieve-20.html

Die Y! Shop will, dass wir eine URL auf unserem Webserver angeben, die XML-Daten zu senden, und hier ist ihr Beispiel:

http://lib.store.yahoo.net/lib/vw/OrderList.xml

Aber bin ich etwas fehlt hier? Ich habe mit simplexml_load_file() gearbeitet, um XML-Dateien zu analysieren. Aber was brauche ich, um hier einen Webservice aufzubauen? Wie bekomme ich die Daten? Ich bin mir nicht einmal sicher, ob Y! sendet es als POST oder wie man es überprüft.

Benötige ich zusätzliche Dokumentation an ihrem Ende? Wenn mir jemand in die richtige Richtung zeigen kann, würde ich es begrüßen.

Vielen Dank im Voraus, -Bob

+0

Sie benötigen zusätzliche Dokumentation. Der XML-Code könnte als Teil einer SOAP-Anfrage oder als einfache XML-Anfrage (dh mit einem Content-Type von application/xml) oder als ein Feld in einigen application/x-www-form-urlencoded Daten gesendet werden POSTed oder PUT, und so weiter. – Quentin

Antwort

0

Ich bin nie jemand, der meine eigenen Fragen beantwortet, aber ich dachte nur, ich würde dies für jemand anderen verlassen, eines Tages die Straße hinunter, in Anbetracht Y! ist nicht das Beste mit Dokumentation zu diesem Thema.

Der Auftragsexport von Y! Store ist reines XML, nicht SOAP. Wenn Sie an einen Apache-Server gesendet werden, haben Sie Glück - es ist ein einfacher $ _POST. Alles, was Sie brauchen, ist:

$ variable = file_get_contents ("php: // input");

In meinem Fall wurden jedoch die Dinge mit IIS kompliziert, so musste ich HTTP-Verb hinzufügen, um die Ordner-Berechtigungen öffnen usw.

-Gute Codierung, alle

-1

einen PHP-Kerl nichts zu sein hat mit Verständnis webserves zu tun. Webservices hat nicht wirklich einen POST oder GET, es sendet einen Umschlag (XML) und erwartet eine Antwort, auch in XML.

Sie müssen lernen, wie Soapclient auf PHP zu verwenden, hier ist ein guter Anfang: http://php.net/manual/en/soapclient.soapclient.php

Validation etwas, das Sie tun, bevor die Seife Anfrage zu senden, und die Validierung von etwas von Y gesendet wird zurück ! wird auch von dir gemacht. Hoffe, diese Hilfe, die Sie beginnen.

+0

Webserver sehr viel ** tun ** POST und GET, nur diejenigen, die POST-Anfragen akzeptieren, erwarten oft, dass die Daten ein anderes Format als "application/x-www-form-urlencoded" verwenden – Quentin

+0

Warum würde SoapClient nützlich sein ? Haben Sie irgendwelche Unterlagen, um zu sagen, dass Yahoo! wird SOAP verwenden? Wenn ja, warum wäre eine SOAP ** -Client ** -Bibliothek nützlich? (Angesichts der Tatsache, dass die Frage besagt, dass Yahoo! eine URL benötigt, um die Daten ** an ** zu senden, was einen * Server * erfordern würde)? – Quentin

+0

@Quentin, wenn es wie eine Ente quakt und wie eine Ente aussieht, nahm ich an, dass es eine Ente war, wie wenn es XML erwartet und XML zurückgibt, und es ein Webservice ist. Ich nahm an, dass es sich um einen Soap-Service handelt. Wenn Ihnen mein Vorschlag/meine Annahme des Webservice nicht gefällt, bieten Sie eine andere Lösung an. – Churk