<cfif NOT isdefined("form.FullName")><cfset form.FullName=""></cfif>
<cfif NOT isdefined("form.Salutation")><cfset form.Salutation=""></cfif>
<cfif NOT isdefined("form.FirstName")><cfset form.FirstName=""></cfif>
<cfif NOT isdefined("form.LastName")><cfset form.LastName=""></cfif>
<cfif NOT isdefined("form.BusinessName")><cfset form.BusinessName=""></cfif>
<cfif NOT isdefined("form.BusinessDomain")><cfset form.BusinessDomain=""></cfif>
<cfif NOT isdefined("form.BusinessEIN")><cfset form.BusinessEIN=""></cfif>
<cfif NOT isdefined("form.Address1")><cfset form.Address1=""></cfif>
<cfif NOT isdefined("form.Address2")><cfset form.Address2=""></cfif>
<cfif NOT isdefined("form.Address3")><cfset form.Address3=""></cfif>
<cfif NOT isdefined("form.Address4")><cfset form.Address4=""></cfif>
<cfif NOT isdefined("form.Address5")><cfset form.Address5=""></cfif>
<cfif NOT isdefined("form.Locality")><cfset form.Locality=""></cfif>
<cfif NOT isdefined("form.AdminArea")><cfset form.AdminArea=""></cfif>
<cfif NOT isdefined("form.PostalCode")><cfset form.PostalCode=""></cfif>
<cfif NOT isdefined("form.Country")><cfset form.Country=""></cfif>
<cfif NOT isdefined("form.Phone1")><cfset form.Phone1=""></cfif>
<cfif NOT isdefined("form.Phone2")><cfset form.Phone2=""></cfif>
<cfif NOT isdefined("form.Email")><cfset form.Email=""></cfif>
<cfif NOT isdefined("form.IPAddress")><cfset form.IPAddress=""></cfif>
<cfif NOT isdefined("form.Gender")><cfset form.Gender=""></cfif>
<cfif NOT isdefined("form.DateOfBirth")><cfset form.DateOfBirth=""></cfif>
<cfif NOT isdefined("form.UTCCaptureTime")><cfset form.UTCCaptureTime=""></cfif>
<cfif NOT isdefined("form.OutputLanguage")><cfset form.OutputLanguage=""></cfif>
<cfif NOT isdefined("form.TestType")><cfset form.TestType=""></cfif>
<cfif NOT isdefined("form.LicenseKey")><cfset form.LicenseKey=""></cfif>
<cfif NOT isdefined("form.Action")><cfset form.Action=""></cfif>
<form action="index.cfm">
<table cellpadding="2" cellspacing="2">
<b>ColdFusion Integration Tutorial - Sample Form</b> </br>
<tr><td>FullName:</td><td><input type="text" name="FullName" value="<cfoutput>#FullName#</cfoutput>" size="30"></td></tr>
<tr><td>Salutation:</td><td><input type="text" name="Salutation" value="<cfoutput>#Salutation#</cfoutput>" size="30"></td></tr>
<tr><td>FirstName:</td><td><input type="text" name="FirstName" value="<cfoutput>#FirstName#</cfoutput>" size="30"></td></tr>
<tr><td>LastName:</td><td><input type="text" name="LastName" value="<cfoutput>#LastName#</cfoutput>" size="30"></td></tr>
<tr><td>BusinessName:</td><td><input type="text" name="BusinessName" value="<cfoutput>#BusinessName#</cfoutput>" size="30"></td></tr>
<tr><td>BusinessDomain:</td><td><input type="text" name="BusinessDomain" value="<cfoutput>#BusinessDomain#</cfoutput>" size="30"></td></tr>
<tr><td>BusinessEIN:</td><td><input type="text" name="BusinessEIN" value="<cfoutput>#BusinessEIN#</cfoutput>" size="30"></td></tr>
<tr><td>Address1:</td><td><input type="text" name="Address1" value="<cfoutput>#Address1#</cfoutput>" size="30"></td></tr>
<tr><td>Address2:</td><td><input type="text" name="Address2" value="<cfoutput>#Address2#</cfoutput>" size="30"></td></tr>
<tr><td>Address3:</td><td><input type="text" name="Address3" value="<cfoutput>#Address3#</cfoutput>" size="30"></td></tr>
<tr><td>Address4:</td><td><input type="text" name="Address4" value="<cfoutput>#Address4#</cfoutput>" size="30"></td></tr>
<tr><td>Address5:</td><td><input type="text" name="Address5" value="<cfoutput>#Address5#</cfoutput>" size="30"></td></tr>
<tr><td>Locality:</td><td><input type="text" name="Locality" value="<cfoutput>#Locality#</cfoutput>" size="30"></td></tr>
<tr><td>AdminArea:</td><td><input type="text" name="AdminArea" value="<cfoutput>#AdminArea#</cfoutput>" size="30"></td></tr>
<tr><td>PostalCode:</td><td><input type="text" name="PostalCode" value="<cfoutput>#PostalCode#</cfoutput>" size="30"></td></tr>
<tr><td>Country:</td><td><input type="text" name="Country" value="<cfoutput>#Country#</cfoutput>" size="30"></td></tr>
<tr><td>Phone1:</td><td><input type="text" name="Phone1" value="<cfoutput>#Phone1#</cfoutput>" size="30"></td></tr>
<tr><td>Phone2:</td><td><input type="text" name="Phone2" value="<cfoutput>#Phone2#</cfoutput>" size="30"></td></tr>
<tr><td>Email:</td><td><input type="text" name="Email" value="<cfoutput>#Email#</cfoutput>" size="30"></td></tr>
<tr><td>IPAddress:</td><td><input type="text" name="IPAddress" value="<cfoutput>#IPAddress#</cfoutput>" size="30"></td></tr>
<tr><td>Gender:</td><td><input type="text" name="Gender" value="<cfoutput>#Gender#</cfoutput>" size="30"></td></tr>
<tr><td>DateOfBirth:</td><td><input type="text" name="DateOfBirth" value="<cfoutput>#DateOfBirth#</cfoutput>" size="30"></td></tr>
<tr><td>UTCCaptureTime:</td><td><input type="text" name="UTCCaptureTime" value="<cfoutput>#UTCCaptureTime#</cfoutput>" size="30"></td></tr>
<tr><td>OutputLanguage:</td><td><input type="text" name="OutputLanguage" value="<cfoutput>#OutputLanguage#</cfoutput>" size="30"></td></tr>
<tr><td>TestType:</td><td><input type="text" name="TestType" value="<cfoutput>#TestType#</cfoutput>" size="30"></td></tr>
<tr><td>License Key:</td><td><input type="text" name="LicenseKey" value="<cfoutput>#LicenseKey#</cfoutput>" size="30" ></td></tr>
<tr><td colspan="2"><br /><input type="Submit" name="Action" value="Submit"></td></tr><tr><td colspan="2"></td></tr>
</table>
</form>
<cfIf isDefined("form.Action") AND Action neq "" >
<cftry>
<cfset primaryURL = "https://trial.serviceobjects.com/LV/api.svc/ValidateLead_V3?FullName=#FullName#&Salutation=#Salutation#&FirstName=#FirstName#&LastName=#LastName#&BusinessName=#BusinessName#&BusinessDomain=#BusinessDomain#&BusinessEIN=#BusinessEIN#&Address1=#Address1#&Address2=#Address2#&Address3=#Address3#&Address4=#Address4#&Address5=#Address5#&Locality=#Locality#&AdminArea=#AdminArea#&PostalCode=#PostalCode#&Country=#Country#&Phone1=#Phone1#&Phone2=#Phone2#&Email=#Email#&IPAddress=#IPAddress#&Gender=#Gender#&DateOfBirth=#DateOfBirth#&UTCCaptureTime=#UTCCaptureTime#&OutputLanguage=#OutputLanguage#&TestType=#TestType#&LicenseKey=#LicenseKey#">
<cfhttp url="#primaryURL#" method="get" result="response">
<cfset outputs = XmlParse(response.FileContent)>
<cfif (isNull(outputs) OR (!isNull(outputs.ContactInternational.Error) AND (outputs.ContactInternational.Error.TypeCode is "3"))) >
<cfthrow message="BackupCall Used">
</cfif>
<cfcatch >
<cftry>
<cfset backupURL = "https://trial.serviceobjects.com/LV/api.svc/ValidateLead_V3?FullName=#FullName#&Salutation=#Salutation#&FirstName=#FirstName#&LastName=#LastName#&BusinessName=#BusinessName#&BusinessDomain=#BusinessDomain#&BusinessEIN=#BusinessEIN#&Address1=#Address1#&Address2=#Address2#&Address3=#Address3#&Address4=#Address4#&Address5=#Address5#&Locality=#Locality#&AdminArea=#AdminArea#&PostalCode=#PostalCode#&Country=#Country#&Phone1=#Phone1#&Phone2=#Phone2#&Email=#Email#&IPAddress=#IPAddress#&Gender=#Gender#&DateOfBirth=#DateOfBirth#&UTCCaptureTime=#UTCCaptureTime#&OutputLanguage=#OutputLanguage#&TestType=#TestType#&LicenseKey=#LicenseKey#">
<cfhttp url="#backupURL#" method="get" result="response">
<cfset outputs = XmlParse(outputs.FileContent)>
<cfdump var="#outputs#">
<cfcatch >
<cfoutput >
The Following Error Occured: #response.StatusCode#
</cfoutput>
</cfcatch>
</cftry>
</cfcatch>
</cftry>
</cfif>
<cfif isDefined("form.Action") AND Action neq "" >
<cftry>
<cfif !isNull(outputs.ContactInternational.Error)>
<cfset responseError = outputs.ContactInternational.Error>
<cfoutput>
<b>Errors Found!</b>
<table width="450" border="1" cellpadding="2" cellspacing="2">
<tr><td>Error Description:</td><td>#responseError.Desc.XmlText#</td></tr>
<tr><td>Error Description Code:</td><td> #responseError.DescCode.XmlText#</td></tr>
<tr><td>Error Type:</td><td> #responseError.Type.XmlText#</td></tr>
<tr><td>Error Type Code:</td><td> #responseError.TypeCode.XmlText#</td></tr>
</table>
</cfoutput>
<cfelse>
<!--No errors found, display results-->
<cfoutput>
<b>Lead Validation - Results:</b> </br>
<cfset validResponse = outputs.ContactInternational>
<table width="450" border="1" cellpadding="2" cellspacing="2">
<tr><td>OverallCertainty:</td><td>#validResponse.OverallCertainty.XmlText#</td></tr>
<tr><td>OverallQuality:</td><td>#validResponse.OverallQuality.XmlText#</td></tr>
<tr><td>LeadType:</td><td>#validResponse.LeadType.XmlText#</td></tr>
<tr><td>LeadCountry:</td><td>#validResponse.LeadCountry.XmlText#</td></tr>
<tr><td>NoteCodes:</td><td>#validResponse.NoteCodes.XmlText#</td></tr>
<tr><td>NoteDesc:</td><td>#validResponse.NoteDesc.XmlText#</td></tr>
<tr><td>NameCertainty:</td><td>#validResponse.NameCertainty.XmlText#</td></tr>
<tr><td>NameQuality:</td><td>#validResponse.NameQuality.XmlText#</td></tr>
<tr><td>FirstNameLatin:</td><td>#validResponse.FirstNameLatin.XmlText#</td></tr>
<tr><td>LastNameLatin:</td><td>#validResponse.LastNameLatin.XmlText#</td></tr>
<tr><td>FirstName:</td><td>#validResponse.FirstName.XmlText#</td></tr>
<tr><td>LastName:</td><td>#validResponse.LastName.XmlText#</td></tr>
<tr><td>NameNoteCodes:</td><td>#validResponse.NameNoteCodes.XmlText#</td></tr>
<tr><td>NameNoteDesc:</td><td>#validResponse.NameNoteDesc.XmlText#</td></tr>
<tr><td>AddressCertainty:</td><td>#validResponse.AddressCertainty.XmlText#</td></tr>
<tr><td>AddressResolutionLevel:</td><td>#validResponse.AddressResolutionLevel.XmlText#</td></tr>
<tr><td>Address1:</td><td><cfif isDefined("validResponse.AddressLine1.XmlText")>#validResponse.AddressLine1.XmlText#</cfif></td></tr>
<tr><td>Address2:</td><td><cfif isDefined("validResponse.AddressLine2.XmlText")>#validResponse.AddressLine2.XmlText#</cfif></td></tr>
<tr><td>Address3:</td><td><cfif isDefined("validResponse.AddressLine3.XmlText")>#validResponse.AddressLine3.XmlText#</cfif></td></tr>
<tr><td>Address4:</td><td><cfif isDefined("validResponse.AddressLine4.XmlText")>#validResponse.AddressLine4.XmlText#</cfif></td></tr>
<tr><td>Address5:</td><td><cfif isDefined("validResponse.AddressLine5.XmlText")>#validResponse.AddressLine5.XmlText#</cfif></td></tr>
<tr><td>AddressLocality:</td><td>#validResponse.AddressLocality.XmlText#</td></tr>
<tr><td>AddressAdminArea:</td><td>#validResponse.AddressAdminArea.XmlText#</td></tr>
<tr><td>AddressPostalCode:</td><td>#validResponse.AddressPostalCode.XmlText#</td></tr>
<tr><td>AddressNoteCodes:</td><td>#validResponse.AddressNoteCodes.XmlText#</td></tr>
<tr><td>AddressNoteDesc:</td><td>#validResponse.AddressNoteDesc.XmlText#</td></tr>
<tr><td>EmailCertainty:</td><td>#validResponse.EmailCertainty.XmlText#</td></tr>
<tr><td>EmailQuality:</td><td>#validResponse.EmailQuality.XmlText#</td></tr>
<tr><td>EmailCorrected:</td><td>#validResponse.EmailCorrected.XmlText#</td></tr>
<tr><td>EmailNoteCodes:</td><td>#validResponse.EmailNoteCodes.XmlText#</td></tr>
<tr><td>EmailNoteDesc:</td><td>#validResponse.EmailNoteDesc.XmlText#</td></tr>
<tr><td>IPCertainty:</td><td>#validResponse.IPCertainty.XmlText#</td></tr>
<tr><td>IPQuality:</td><td>#validResponse.IPQuality.XmlText#</td></tr>
<tr><td>IPLocality:</td><td>#validResponse.IPLocality.XmlText#</td></tr>
<tr><td>IPAdminArea:</td><td>#validResponse.IPAdminArea.XmlText#</td></tr>
<tr><td>IPCountry:</td><td>#validResponse.IPCountry.XmlText#</td></tr>
<tr><td>IPNoteCodes:</td><td>#validResponse.IPNoteCodes.XmlText#</td></tr>
<tr><td>IPNoteDesc:</td><td>#validResponse.IPNoteDesc.XmlText#</td></tr>
<tr><td>Phone1Certainty:</td><td>#validResponse.Phone1Certainty.XmlText#</td></tr>
<tr><td>Phone1Quality:</td><td>#validResponse.Phone1Quality.XmlText#</td></tr>
<tr><td>Phone1Locality:</td><td>#validResponse.Phone1Locality.XmlText#</td></tr>
<tr><td>Phone1AdminArea:</td><td>#validResponse.Phone1AdminArea.XmlText#</td></tr>
<tr><td>Phone1NoteCodes:</td><td>#validResponse.Phone1NoteCodes.XmlText#</td></tr>
<tr><td>Phone1NoteDesc:</td><td>#validResponse.Phone1NoteDesc.XmlText#</td></tr>
<tr><td>BusinessCertainty:</td><td>#validResponse.BusinessCertainty.XmlText#</td></tr>
<tr><td>BusinessQuality:</td><td>#validResponse.BusinessQuality.XmlText#</td></tr>
<tr><td>BusinessName:</td><td>#validResponse.BusinessName.XmlText#</td></tr>
<tr><td>BusinessDomain:</td><td>#validResponse.BusinessDomain.XmlText#</td></tr>
<tr><td>BusinessEmail:</td><td>#validResponse.BusinessEmail.XmlText#</td></tr>
<tr><td>BusinessNoteCodes:</td><td>#validResponse.BusinessNoteCodes.XmlText#</td></tr>
<tr><td>BusinessNoteDesc:</td><td>#validResponse.BusinessNoteDesc.XmlText#</td></tr>
</table>
<cfif Len(validResponse.InformationComponents) GT 0>
<cfif isDefined("validResponse.InformationComponents.InformationComponent.XmlText")>
<br><b>Information Components</b>
<table width="450" border="1" cellpadding="2" cellspacing="2">
<cfset infoComponent = validResponse.InformationComponents.InformationComponent>
<cfloop from ="1" to="#ArrayLen(infoComponent)#" index ="i">
<tr><td>#infoComponent[i].Name.XmlText#</td><td>#infoComponent[i].Value.XmlText#</td></tr>
</cfloop>
</cfif>
</cfif>
<cfif Len(validResponse.PhoneContact) GT 0>
<br><b>Phone Contacts</b>
<table width="450" border="1" cellpadding="2" cellspacing="2">
<cfset phoneContact = validResponse.PhoneContact>
<tr><td>Name</td><td>#PhoneContact.Name.XmlText#</td></tr>
<tr><td>Address</td><td>#PhoneContact.Address.XmlText#</td></tr>
<tr><td>City</td><td>#PhoneContact.City.XmlText#</td></tr>
<tr><td>State</td><td>#PhoneContact.State.XmlText#</td></tr>
<tr><td>Zip</td><td>#PhoneContact.Zip.XmlText#</td></tr>
<tr><td>Name</td><td>#PhoneContact.Name.XmlText#</td></tr>
</cfif>
</table>
</cfoutput>
</cfif>
<cfcatch>
<cfoutput>
</br> <tr><td><b>Unable to process request. #cfcatch.message#</b></td></tr>
</cfoutput>
</cfcatch>
</cftry>
</cfif>