Domanda

Se qualcuno ha qualche esperienza con l'API conferma di consegna USPS, mi piacerebbe davvero apprezzare tutta la comprensione che posso ottenere ...

Sto usando PHP e cURL per inviare una richiesta XML per l'API di corrente continua. Quando invio della risposta attraverso cURL, non ottengo niente. Nessun errore di risposta, non XML, o qualsiasi cosa. Quando invio l'XML attraverso un browser, ricevo una risposta di errore, che è almeno una risposta. Sono a un punto morto, perché l'errore che ottengo attraverso il browser apparantly (in base alla loro linea di supporto) significa che i loro problemi di server stanno interessando l'API. Comunque, io non so perché non sarei in grado di ottenere che risposta attraverso cURL.

È stato utile?

Soluzione

Stiamo utilizzando l'API Indirizzo convalida e .NET, senza la conferma della consegna e PHP, ma forse posso aiutare.

L'XML che si invia l'ufficio postale dovrebbe essere solo una festa della stringa di query in questo modo:

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

Poi hanno appena servono fino un documento XML a destra indietro. Non ho mai usato la libreria cURL, ma forse è possibile verificare che questo è ciò che in realtà è l'invio.

Inoltre, sei stato ancora approvato? Se no, allora che permettono solo le risposte dei test in scatola. Tutto il resto vi darà un errore, anche se sarebbe valida sul server di produzione.

Altri suggerimenti

Il mio sospetto è che qualcosa è spento nella struttura della vostra richiesta (ad esempio, un collegamento interno mancante), dal momento che il contenuto XML suona come se fosse valido (o almeno come server di USPS letto bene).

La nostra implementazione delle API di USPS utilizza un protocollo TCP raw / connessione IP con fsockopen, che ha il vantaggio che posso confermare esattamente ciò che stiamo inviando nella struttura della richiesta: POST /ShippingAPI.dll HTTP/1.0

Le uniche intestazioni stiamo anche per quanto riguarda la richiesta sono queste:

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

Fa che corrispondono a quello che sta inviando attraverso cURL?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top