2009-08-19 7 views
1

誰でもUSPSの配信確認APIの経験を持っている場合、私は本当に私はDCのAPIへのXMLリクエストを送信するためにPHPとカールを使用しています、私は得ることができます任意の洞察力...USPSのAPIの混乱

をいただければと思います。私がcURLで応答を送信すると、何も得られません。エラーレスポンス、XMLなどはありません。ブラウザからXMLを送信すると、少なくともレスポンスであるエラー応答が返されます。私は、ブラウザを使って(サポートラインに従って)ブラウザでエラーが発生したため、サーバの問題がAPIに影響を与えているため、停止しています。しかし、なぜ私はcURLを通じてその応答を得ることができないのか分かりません。

答えて

1

私たちは、配信確認とPHPではなく、アドレス検証APIと.NETを使用していますが、多分私は助けることができます。

あなたが郵便局の送信XMLはちょうどこのようなクエリ文字列のパーティーでなければなりません:

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

その後、彼らはちょうど戻ってXMLドキュメントをあなたを果たします。私はcURLライブラリを使ったことはありませんが、実際に送信していることを確認できます。

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

+0

私は今、テストサーバーを使用しています。これは、缶詰の応答を戻すためのエラーです。私はUSPSのサポートで、テストランを稼働させようとする限り、自分のアカウントに何も問題がないことを確認しました。 –

0

XMLコンテンツが有効である(少なくともUSPSのサーバーが正しく読み取ったような)ので、リクエストの構造に何かがないことが疑わしいです(ヘッダーが欠落しているなど)。 USPSのAPIの当社の実装では、私たちは要求の構造に送っている正確に何を確認することができるという利点があるfsockopenと生のTCP/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 

あなたはcURLで送信しているものと一致しますか?