1

USPS配信確認APIの使用経験がある方は、私が得られる洞察に感謝します...

PHPとcURLを使用してXMLリクエストをDCAPIに送信しています。cURLを介して応答を送信しても、何も得られません。エラー応答もXMLも何もありません。ブラウザを介してXMLを送信すると、少なくとも応答であるエラー応答が返されます。(サポートラインによると)ブラウザを介して明らかに発生するエラーは、サーバーの問題がAPIに影響を及ぼしていることを意味するため、私は停止しています。ただし、cURLを介してその応答を取得できない理由はわかりません。

4

2 に答える 2

1

私たちは Address Validation API と .NET を使用しており、Delivery Confirmation と PHP は使用していませんが、私がお手伝いできることがあります。

郵便局に送信する XML は、次のようなクエリ文字列の一部である必要があります。

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

その後、すぐに XML ドキュメントを提供するだけです。cURL ライブラリを使用したことはありませんが、これが実際に送信されているものであることを確認できるかもしれません。

また、承認はされましたか?そうでない場合は、缶詰のテスト応答のみが許可されます。本番サーバーで有効であっても、それ以外の場合はエラーが発生します。

于 2009-08-19T22:05:03.060 に答える
0

XML コンテンツが有効であるように見える (または、少なくとも USPS のサーバーが正しく読み取っているように見える) ため、リクエストの構造に何か問題があるのではないかと考えています (ヘッダーの欠落など)。

USPS API の実装では、 との生の TCP/IP 接続を使用しますfsockopen。これには、リクエストの構造で送信しているものを正確に確認できるという利点があります。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

それは、cURL で送信しているものと一致しますか?

于 2009-08-19T21:28:37.127 に答える