Frage

Wenn jemand Erfahrung mit der USPS Zustellbestätigung API hat, würde ich wirklich einen Einblick schätze die ich bekommen kann ...

Ich bin mit PHP und cURL eine XML-Anfrage an dem D. C. API zu senden. Wenn ich die Antwort durch cURL senden, erhalte ich nichts. Keine Fehlerreaktion, kein XML, oder irgendetwas. Wenn ich die XML über einen Browser senden, erhalte ich eine Fehlermeldung, die zumindest eine Antwort ist. Ich bin im Stillstand, da der Fehler ich apparantly über den Browser erhalten (entsprechend ihre Unterstützung Linie) bedeutet, dass ihre Server-Probleme, die API beeinflussen. Aber ich weiß nicht, warum ich nicht in der Lage sein, diese Reaktion durch cURL zu erhalten.

War es hilfreich?

Lösung

Wir verwenden die Adressvalidierung API und .NET, nicht Zustellbestätigung und PHP, aber vielleicht kann ich helfen.

Die XML, die Sie mit der Post senden soll nur eine Partei des Query-String so aussehen:

https://servername/ShippingAPITest.dll?API=DeliveryConfirmationV3&XML=<DeliveryConfirmationV3.0Request USERID="username">…….</DeliveryConfirmationV3.0Request>
sie Sie

Dann gleich wieder ein XML-Dokument nur dazu dienen, auf. Ich habe noch nie verwendet die cURL Bibliothek, aber vielleicht können Sie überprüfen, dass das ist, was es ist tatsächlich gesendet wird.

Außerdem haben Sie noch zugelassen? Wenn nicht, dann lassen sie nur die Konserven Testantworten. Alles andere wird Ihnen ein Fehler, auch wenn es auf dem Produktionsserver gültig sein.

Andere Tipps

Mein Verdacht ist, dass etwas von der Struktur Ihrer Anfrage ist (zum Beispiel eine fehlende Header), da die XML-Inhalte klingt wie es gültig ist (oder zumindest wie USPS-Servern richtig gelesen).

Unsere Implementierung des USPS API verwendet eine Raw-TCP / IP-Verbindung mit fsockopen, was den Vorteil hat, dass ich genau bestätigen können, was wir in der Struktur des Antrags sind zu senden: POST /ShippingAPI.dll HTTP/1.0

Die einzigen Header wir auf Wunsch sind darunter sind diese:

User-Agent: (foo)\r\n
Host: (bar)\r\n
Content-Type: text/xml\r\n
Content-Length: strlen($xml)\r\n\r\n

Macht das Spiel, was Sie durch cURL sind zu senden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top