@@ -12,27 +12,46 @@ class can handle up to 100 addresses for validation.
12
12
13
13
# This is the object that will be handling our tracking request.
14
14
# 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' )
28
38
address1 .CompanyName = 'International Paper'
29
39
address1 .Address .StreetLines = ['155 Old Greenville Hwy' , 'Suite 103' ]
30
40
address1 .Address .City = 'Clemson'
31
41
address1 .Address .StateOrProvinceCode = 'SC'
32
42
address1 .Address .PostalCode = 29631
33
43
address1 .Address .CountryCode = 'US'
34
44
address1 .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 )
35
54
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