Pregunta

Si alguien tiene alguna experiencia con la API de confirmación de entrega de USPS, yo realmente apreciaría cualquier idea de que puedo conseguir ...

Estoy usando PHP y cURL para enviar una solicitud XML a la API de DC. Cuando envío de la respuesta a través de CURL, no consigo nada. Sin respuesta de error, sin XML, o cualquier cosa. Cuando envío el XML a través de un navegador, recibo una respuesta de error, que es al menos una respuesta. Estoy en un punto muerto debido a que el error que consigo a través del navegador aparentemente (según su línea de soporte) significa que sus problemas con el servidor están afectando a la API. Sin embargo, no sé por qué no sería capaz de conseguir que la respuesta a través de rizo.

¿Fue útil?

Solución

Estamos utilizando la API de validación de direcciones y .NET, no la confirmación de entrega y PHP, pero tal vez pueda ayudar.

El XML que se envía el correo debe ser sólo una de las partes de la cadena de consulta como la siguiente:

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

A continuación, sólo te sirven un documento XML de vuelta. Nunca he utilizado la biblioteca cURL, pero tal vez se puede comprobar que esto es lo que en realidad está enviando.

Además, ¿ha sido aprobado todavía? Si no es así, que sólo permiten las respuestas de la prueba enlatados. Cualquier otra cosa le dará un error, incluso si sería válido en el servidor de producción.

Otros consejos

Mi sospecha es que algo está fuera de la estructura de su solicitud (por ejemplo, una cabecera que falta), ya que suena el contenido XML como si fuera válido (o, al menos, al igual que los servidores de USPS leer correctamente).

Nuestra implementación de la API de USPS utiliza un TCP prima / conexión IP con fsockopen, que tiene la ventaja de que puedo confirmar precisamente lo que estamos enviando en la estructura de la solicitud: POST /ShippingAPI.dll HTTP/1.0

Las únicas cabeceras que estamos incluidos en la solicitud son los siguientes:

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

¿Tiene que coincidan con lo que va a enviar a través de CURL?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top