Address Detective International C# Rest Code Snippet

string primaryurl = "https://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 = "https://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 sws.serviceobjects.com and the backup should be pointed to swsbackup.serviceobjects.com
String mainUrl = "https://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 = "https://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");
}