@@ -12,27 +12,46 @@ class can handle up to 100 addresses for validation.
1212
1313# This is the object that will be handling our tracking request.
1414# We're using the FedexConfig object from example_config.py in this dir.
15- address = FedexAddressValidationRequest (CONFIG_OBJ )
16-
17- address .AddressValidationOptions .CheckResidentialStatus = True
18- address .AddressValidationOptions .VerifyAddresses = True
19- address .AddressValidationOptions .MaximumNumberOfMatches = 3
20- address .AddressValidationOptions .StreetAccuracy = 'LOOSE'
21- del address .AddressValidationOptions .DirectionalAccuracy
22- del address .AddressValidationOptions .CompanyNameAccuracy
23- del address .AddressValidationOptions .ConvertToUpperCase
24- address .AddressValidationOptions .RecognizeAlternateCityNames = True
25- del address .AddressValidationOptions .ReturnParsedElements
26-
27- address1 = address .create_wsdl_object_of_type ('AddressToValidate' )
15+ connection = FedexAddressValidationRequest (CONFIG_OBJ )
16+
17+ # The AddressValidationOptions are created with default values of None, which
18+ # will cause WSDL validation errors. To make things work, each option needs to
19+ # be explicitly set or deleted.
20+
21+ ## Set the flags we want to True (or a value).
22+ connection .AddressValidationOptions .CheckResidentialStatus = True
23+ connection .AddressValidationOptions .VerifyAddresses = True
24+ connection .AddressValidationOptions .RecognizeAlternateCityNames = True
25+ connection .AddressValidationOptions .MaximumNumberOfMatches = 3
26+
27+ ## Delete the flags we don't want.
28+ del connection .AddressValidationOptions .ConvertToUpperCase
29+ del connection .AddressValidationOptions .ReturnParsedElements
30+
31+ ## *Accuracy fields can be TIGHT, EXACT, MEDIUM, or LOOSE. Or deleted.
32+ connection .AddressValidationOptions .StreetAccuracy = 'LOOSE'
33+ del connection .AddressValidationOptions .DirectionalAccuracy
34+ del connection .AddressValidationOptions .CompanyNameAccuracy
35+
36+ ## Create some addresses to validate
37+ address1 = connection .create_wsdl_object_of_type ('AddressToValidate' )
2838address1 .CompanyName = 'International Paper'
2939address1 .Address .StreetLines = ['155 Old Greenville Hwy' , 'Suite 103' ]
3040address1 .Address .City = 'Clemson'
3141address1 .Address .StateOrProvinceCode = 'SC'
3242address1 .Address .PostalCode = 29631
3343address1 .Address .CountryCode = 'US'
3444address1 .Address .Residential = False
45+ connection .add_address (address1 )
46+
47+ address2 = connection .create_wsdl_object_of_type ('AddressToValidate' )
48+ address2 .Address .StreetLines = ['320 S Cedros' , '#200' ]
49+ address2 .Address .City = 'Solana Beach'
50+ address2 .Address .StateOrProvinceCode = 'CA'
51+ address2 .Address .PostalCode = 92075
52+ address2 .Address .CountryCode = 'US'
53+ connection .add_address (address2 )
3554
36- address . add_address ( address1 )
37- address .send_request ()
38- print address .response
55+ ## Send the request and print the response
56+ connection .send_request ()
57+ print connection .response
0 commit comments