Пример #1
0
        public Address ValidateAddress(Address address)
        {
            try
            {
                WebClient web = new WebClient();

                string validateUrl = "?API=Verify&XML=<AddressValidateRequest USERID=\"{0}\"><Address ID=\"{1}\"><Address1>{2}</Address1><Address2>{3}</Address2><City>{4}</City><State>{5}</State><Zip5>{6}</Zip5><Zip4>{7}</Zip4></Address></AddressValidateRequest>";
                string url         = _uspsURL + validateUrl;
                url = String.Format(url, _uspsUsername, address.ID.ToString(), address.Address1, address.Address2,
                                    address.City, address.State, address.Zip5, address.Zip4);

                string addressxml;
                try
                {
                    addressxml = web.DownloadString(url);
                }
                catch (Exception ex)
                {
                    string msg = "Misconfiguration or some other invalid data received.";
                    throw new Exception(msg);
                }

                if (addressxml.Contains("<Error>"))
                {
                    int    idx1    = addressxml.IndexOf("<Description>") + 13;
                    int    idx2    = addressxml.IndexOf("</Description>");
                    int    l       = addressxml.Length;
                    string errDesc = addressxml.Substring(idx1, idx2 - idx1);
                    throw new Exception(errDesc);
                }

                return(Address.getAddress(addressxml));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }