public override bool ValidateAddress(ShippingAddress_V02 shippingAddress, out String errorCode, out ServiceProvider.AddressValidationSvc.Address avsAddress) { errorCode = string.Empty; var request = new ValidateAddressRequest(); var address = new ServiceProvider.AddressValidationSvc.Address(); address.City = shippingAddress.Address.City; address.CountryCode = shippingAddress.Address.Country; address.Line1 = shippingAddress.Address.Line1; address.PostalCode = shippingAddress.Address.PostalCode; address.StateProvinceTerritory = shippingAddress.Address.StateProvinceTerritory; request.Address = address; // Avoid validation where ValidatePostalCode is disabled if (!HLConfigManager.Configurations.AddressingConfiguration.ValidatePostalCode) { avsAddress = request.Address; return(true); } var proxy = ServiceClientProvider.GetAddressValidationServiceProxy(); try { var response = proxy.ValidateAddress(new ValidateAddressRequest1(request)).ValidateAddressResponse; if (response != null) { if (response.ValidationResult.Value.ToUpper() == "FOUND" || response.ValidationResult.ErrorCode.ToUpper() == "E421" || response.ValidationResult.ErrorCode.ToUpper() == "E422" || response.ValidationResult.ErrorCode.ToUpper() == "E427" || response.ValidationResult.ErrorCode.ToUpper() == "E412" || response.ValidationResult.ErrorCode.ToUpper() == "E413" || response.ValidationResult.ErrorCode.ToUpper() == "E423" || response.ValidationResult.ErrorCode.ToUpper() == "E425" || response.ValidationResult.ErrorCode.ToUpper() == "E420" || response.ValidationResult.ErrorCode.ToUpper() == "E430" || response.ValidationResult.ErrorCode.ToUpper() == "E600") { // address is valid errorCode = response.ValidationResult.ErrorCode; avsAddress = response.Address; return(true); } } // address is invalid errorCode = response.ValidationResult.ErrorCode; avsAddress = response.Address; return(false); } catch (Exception ex) { LoggerHelper.Error(string.Format("AVS Address Validation Failed:{0}", ex.Message)); errorCode = ex.Message; avsAddress = null; return(false); } }