0

アドレスを検証すると、次のエラーが発生します。

ex = {"Error Loading XML:  The following tags were not closed: AddressValidateRequest, Address, Address1.\r\n"}

または、アドレスが見つからないという別のエラーが表示されます。このアドレスを検証するより良い方法はありますか?

これが私のURLです:

http://production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=<AddressValidateRequest USERID="402JMAWE3481"><Address ID="1"><Address1>123 Main St</Address1><Address2></Address2><City>Watertown</City><State>MA</State><Zip5>02472</Zip5><Zip4></Zip4></Address></AddressValidateRequest>
4

2 に答える 2

3

\r\nエラーの説明によると、問題は、 url に追加する前に xmlから削除する必要がある可能性があります。URLエンコードも忘れずに。

于 2012-06-08T21:12:17.970 に答える
1

実際には HtmlEncode してから UrlEncode する必要があります。これは、実際に XML を送信している (&amp;代わりに が必要) ためですが、これは URL であるため、それぞれを&エンコードする必要があります。&%26

これが完全な作業 URL です。ユーザー ID を入力するだけです。

http://production.shippingapis.com/ShippingAPI.dll?API=Verify&XML=<AddressValidateRequest USERID="123USERID567"><Address ID="1"><Address1></Address1><Address2>10051+Orr+%26amp%3b+Day+Rd</Address2><City>santa+fe+springs</City><State>ca</State><Zip5>90670</Zip5><Zip4></Zip4></Address></AddressValidateRequest>

このファンキーな文字列が含まれていることがわかります。

 10051+Orr+%26amp%3b+Day+Rd

これを行うことで得たもの:

 HttpUtility.UrlEncode(HttpUtility.HtmlEncode("10061 Orr & Day Rd"))

[適切にエンコードしなかったときに返されたこの特定のエラーはError Loading XML: Whitespace is not allowed at this location]

于 2012-08-07T11:53:19.153 に答える