如果任何人有与美国邮政发货确认API的经验,我会很感激任何见解,我可以得到...

我使用PHP和卷曲发送XML请求到D.C. API。当我送过卷曲的回应,我什么也没得到。没有错误的反应,没有XML,或任何东西。当我通过浏览器发送XML,我得到一个错误的反应,这至少是一个回应。我是处于停滞状态,因为我通过apparantly浏览器出现错误(根据自己的支撑线),意味着他们的服务器问题正在影响API。但是,我不知道为什么我就不能得到通过卷曲该响应。

有帮助吗?

解决方案

我们正在使用的地址验证API和.NET,而不是发送确认和PHP,但也许我可以提供帮助。

您发送邮局的XML应该只是查询字符串像这样的聚会:

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

然后,他们只是为你服务了一个XML文档的右后卫。我从来没有使用cURL库,但也许你可以检查,这就是它的实际发送。

另外,你有没有经过批准?如果没有,那么他们只允许罐装测试响应。任何东西都不会给你一个错误,即使是在生产服务器上有效。

其他提示

我怀疑是东西是关闭你的请求(例如,丢失报头)的结构中,由于XML内容听起来像它是有效的(或至少类似USPS的服务器读取它正确地)。

我们的美国邮政API的实现使用原始TCP /与fsockopen IP连接,它的优点是我可以准确地证实了我们的请求的结构正在发送:POST /ShippingAPI.dll HTTP/1.0

很包括关于请求的唯一标头是这些:

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

这是否匹配您通过卷曲送什么?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top