Page tree
Skip to end of metadata
Go to start of metadata




Address Detective International C# Rest Code Snippet
string primaryurl = "http://trial.serviceobjects.com/adi/api.svc/" + format + "/FindBestCountry?CompanyName=" + companyName + "&FullName=" + fullName + "&FirstName=" + firstName + "&LastName=" + lastName + "&Address1=" + address1 + "&Address2=" + address2 + "&Address3=" + address3 + "&Address4=" + address4 + "&Address5=" + address5 + "&Address6=" + address6 + "&Address7=" + address7 + "&Address8=" + address8 + "&Locality=" + locality + "&AdminArea=" + adminArea + "&PostalCode=" + postalCode + "&Phone1=" + phone1 + "&Phone2=" + phone2 + "&Phone3=" + phone3 + "&Email=" + email + "&IPAddress=" + ipAddress + "&LicenseKey=" + licensekey;
 
string backupurl = "http://trial.serviceobjects.com/adi/api.svc/" + format + "/FindBestCountry?CompanyName=" + companyName + "&FullName=" + fullName + "&FirstName=" + firstName + "&LastName=" + lastName + "&Address1=" + address1 + "&Address2=" + address2 + "&Address3=" + address3 + "&Address4=" + address4 + "&Address5=" + address5 + "&Address6=" + address6 + "&Address7=" + address7 + "&Address8=" + address8 + "&Locality=" + locality + "&AdminArea=" + adminArea + "&PostalCode=" + postalCode + "&Phone1=" + phone1 + "&Phone2=" + phone2 + "&Phone3=" + phone3 + "&Email=" + email + "&IPAddress=" + ipAddress + "&LicenseKey=" + licensekey;
try
{
	
	wsresponse = httpGet(primaryurl);
	//checks if a response was returned from the service, uses the backup url if response is null or a fatal error occured.
	if (wsresponse == null || (wsresponse.Error != null && wsresponse.Error.TypeCode == "3"))
	{
		throw new Exception("Primary Call Received an Unhandled erros");
	}
}
catch (Exception ex)
{
	try
	{
		wsresponse = httpGet(backupurl);
	}
	catch (Exception err)
	{
		//Displays the relevant error mesasge if both backup and primary urls failed. You will likely want to log this somewhere
		StatusLabel.Text = err.Message;
		StatusLabel.Visible = true;
	}
	//Displays the relevant error mesasge if both backup and primary urls failed.
	StatusLabel.Text = ex.Message;
	StatusLabel.Visible = true;
}
if (wsresponse.Error != null)
{
	ProcessErrorResponse(wsresponse.Error);
}
else
{
	ProcessSuccessfulResponse(wsresponse);
}

private CountryDetectionResponse httpGet(string url)
{
try
{
	//NOTE: URL encoding occurs automatically when creating the web request
	HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
	request.Timeout = 15000;//timeout for get operation
	using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
	{
		if (response.StatusCode != HttpStatusCode.OK)
			throw new Exception(String.Format(
			"Server error (HTTP {0}: {1}).",
			response.StatusCode,
			response.StatusDescription));
		//parses XML response into the AVIResponse object
		XmlSerializer serializer = new XmlSerializer(typeof(CountryDetectionResponse));
		StreamReader reader = new StreamReader(response.GetResponseStream());
		CountryDetectionResponse output = new CountryDetectionResponse();
		output = (CountryDetectionResponse)serializer.Deserialize(reader);
		return output;
	}
}
catch (Exception e)
{
	throw e;
}
}

private void ProcessSuccessfulResponse(CountryDetectionResponse outputs)
{
	DataTable dtoutput = new DataTable();
	dtoutput.Columns.Add("Outputs", typeof(string));
	dtoutput.Columns.Add("Values", typeof(string));
	dtoutput.Rows.Add("Status", outputs.CountryDetection.Status);
	dtoutput.Rows.Add("TotalScore", outputs.CountryDetection.TotalScore);
	dtoutput.Rows.Add("Notes", outputs.CountryDetection.Notes);
	dtoutput.Rows.Add("NotesDesc", outputs.CountryDetection.NotesDesc);
	dtoutput.Rows.Add("Warnings", outputs.CountryDetection.Warnings);
	dtoutput.Rows.Add("WarningsDesc", outputs.CountryDetection.WarningsDesc);
	.
	.
	.
	dtoutput.Rows.Add("Email_CountryISO2", outputs.CountryDetection.Email_CountryISO2);
	dtoutput.Rows.Add("Email_CountryISO3", outputs.CountryDetection.Email_CountryISO3);
	dtoutput.Rows.Add("Email_AllCountriesFoundISO2", outputs.CountryDetection.Email_AllCountriesFoundISO2);

	//Checks for the existence of the Information Compoents object and then prints the resulting values if they arise.
	ResultGrid.Visible = true;
	StatusLabel.Visible = true;
	ResultGrid.DataSource = new DataView(dtoutput);
	ResultGrid.DataBind();
}
private void ProcessErrorResponse(Error errorResponse)
{
	DataTable dtError = new DataTable();
	dtError.Columns.Add("Outputs", typeof(string));
	dtError.Columns.Add("Values", typeof(string));
	dtError.Rows.Add("Type", errorResponse.Type);
	dtError.Rows.Add("TypeCode", errorResponse.TypeCode);
	dtError.Rows.Add("Desc", errorResponse.Desc);
	dtError.Rows.Add("DescCode", errorResponse.DescCode);
	ResultGrid.Visible = true;
	StatusLabel.Visible = true;
	ResultGrid.DataSource = new DataView(dtError);
	ResultGrid.DataBind();
}


Address Detective International Java Rest Code Snippet
//We'll pull these values from the input form
String Address1 = request.getParameter("address1");
String Address2 = request.getParameter("address2");
String Address3 = request.getParameter("address3");
String Address4 = request.getParameter("address4");
String Address5 = request.getParameter("address5");
String Address6 = request.getParameter("address6");
String Address7 = request.getParameter("address7");
String Address8 = request.getParameter("address8");
String Locality = request.getParameter("locality");
String AdminArea = request.getParameter("adminarea");
String PostalCode = request.getParameter("postalcode");
String Phone1 = request.getParameter("phone1");
String Phone2 = request.getParameter("phone2");
String Phone3 = request.getParameter("phone3");
String Email = request.getParameter("email");
String IPAddress = request.getParameter("ipaddress");
String Domain = request.getParameter("domain");
String LicenseKey = request.getParameter("licensekey");

Address1 = URLEncoder.encode(Address1,"UTF-8").replaceAll("\\+", "%20");
Address2 = URLEncoder.encode(Address2,"UTF-8").replaceAll("\\+", "%20");
Address3 = URLEncoder.encode(Address3,"UTF-8").replaceAll("\\+", "%20");
Address4 = URLEncoder.encode(Address4,"UTF-8").replaceAll("\\+", "%20");
Address5 = URLEncoder.encode(Address5,"UTF-8").replaceAll("\\+", "%20");
Address6 = URLEncoder.encode(Address6,"UTF-8").replaceAll("\\+", "%20");
Address7 = URLEncoder.encode(Address7,"UTF-8").replaceAll("\\+", "%20");
Address8 = URLEncoder.encode(Address8,"UTF-8").replaceAll("\\+", "%20");
Locality = URLEncoder.encode(Locality,"UTF-8").replaceAll("\\+", "%20");
AdminArea = URLEncoder.encode(AdminArea,"UTF-8").replaceAll("\\+", "%20");
PostalCode = URLEncoder.encode(PostalCode,"UTF-8").replaceAll("\\+", "%20");
Phone1 = URLEncoder.encode(Phone1,"UTF-8").replaceAll("\\+", "%20");
Phone2 = URLEncoder.encode(Phone2,"UTF-8").replaceAll("\\+", "%20");
Phone3 = URLEncoder.encode(Phone3,"UTF-8").replaceAll("\\+", "%20");
Email = URLEncoder.encode(Email,"UTF-8").replaceAll("\\+", "%20");
IPAddress = URLEncoder.encode(IPAddress,"UTF-8").replaceAll("\\+", "%20");
Domain = URLEncoder.encode(Domain,"UTF-8").replaceAll("\\+", "%20");
LicenseKey = URLEncoder.encode(LicenseKey,"UTF-8").replaceAll("\\+", "%20");

//Set the primary and backup URLs as necessary. In production, the primary endpoint should be pointed to ws.serviceobjects.com and the backup should be pointed to wsbackup.serviceobjects.com
String mainUrl = "http://trial.serviceobjects.com/adi/api.svc/XML/FindBestCountry?CompanyName=" + CompanyName + "&FullName=" + FullName+ "&FirstName=" + FirstName + "&LastName=" + LastName + "&Address1=" + Address1 + "&Address2=" + Address2 + "&Address3=" + Address3 + "&Address4=" + Address4 + "&Address5=" + Address5 + "&Address6=" + Address6 + "&Address7=" + Address7 + "&Address8=" + Address8 + "&Locality=" + Locality + "&AdminArea=" + AdminArea + "&PostalCode=" +PostalCode + "&Phone1=" + Phone1 + "&Phone2=" + Phone2 + "&Phone3=" + Phone3 +"&Email=" + Email + "&IPAddress=" + IPAddress + "&Domain=" + Domain + "&LicenseKey=" + LicenseKey;
String backupUrl = "http://trial.serviceobjects.com//adi/api.svc/XML/FindBestCountry?CompanyName=" + CompanyName + "&FullName=" + FullName+ "&FirstName=" + FirstName + "&LastName=" + LastName + "&Address1=" + Address1 + "&Address2=" + Address2 + "&Address3=" + Address3 + "&Address4=" + Address4 + "&Address5=" + Address5 + "&Address6=" + Address6 + "&Address7=" + Address7 + "&Address8=" + Address8 + "&Locality=" + Locality + "&AdminArea=" + AdminArea + "&PostalCode=" +PostalCode + "&Phone1=" + Phone1 + "&Phone2=" + Phone2 + "&Phone3=" + Phone3 +"&Email=" + Email + "&IPAddress=" + IPAddress + "&Domain=" + Domain + "&LicenseKey=" + LicenseKey; 

ADIRest adirestClient = new ADIRest();
JSONObject results = new JSONObject();

results = adirestClient.AddressResponse(mainUrl, backupUrl);
if (results.getJSONObject("CountryDetectionResponse").has("Error") )
{
JSONObject errorResponse = results.getJSONObject("CountryDetectionResponse").getJSONObject("Error") ;
string Type = errorResponse.get("Type");
.
.
.
}else{
JSONObject validresponse = results.getJSONObject("CountryDetectionResponse").getJSONObject("CountryDetection");
string status = validresponse.get("Status");
.
.
.
string totalScore = validresponse.get("TotalScore");
}


  • No labels