CiviCRM correctly handles USPS Standardization for scripted test data only. When USPS, a valid User ID and the url for the test server are entered into the Address Standardization section of Administer CiviCRM ? Global Settings ? Address Settings, the scripted test data from http://www.usps.com/webtools/_pdf/Address-Information.pdf is processed correctly when entered into a contact.
Error Conditions: When the url is changed to the production server url, creating or editing a contact results in the deletion of all address fields except for the state.
Proposed Error Condition: the syntax of the the http query string to the two servers is different, as documented in the above reference, pages 8 & 10. Perhaps the testing format is hard coded into CiviCRM and we need to provide a means to switch to the production format:
Test server: http://servername/ShippingAPITest.dll?API=Verify&XML=<AddressValidateRequest USERID="xxxxxxx">.......</AddressValidateRequest>
Production server: http://servername/ShippingAPI.dll?API=Verify&XML=<AddressValidateRequest USERID="username">.......</AddressValidateRequest>
Note the removal of 'Test' before .dll