C# SOAP Sample:

    //  Wrapper is a Reference to the FinScan Wrapper (https://isi-api-doc.azurewebsites.net/LSTServicesLookupSOAP/LSTServicesLookup.asmx?WSDL).

    Wrapper.LSTServicesLookupRequest request = new Wrapper.LSTServicesLookupRequest();

    Wrapper.LSTServicesLookupResponse response;

 

    //  Initialize Credentials

    request.organizationName = "ORG_NAME";

    request.userName = "USER_NAME";

    request.password = "USER_PASSWORD";

 

    //  Initialize Client Information

    request.applicationId = "APPL_ID";

    request.clientId = "CLIENT_ID";

    request.nameLine = "CLIENT_NAME";

    request.gender = Wrapper.SLGenderEnum.Unknown;

    request.addressLine1 = "ADDRESS_LINE_1_OR_LEAVE_BLANK";

    request.addressLine2 = "ADDRESS_LINE_2_OR_LEAVE_BLANK";

    request.addressLine3 = "ADDRESS_LINE_3_OR_LEAVE_BLANK";

    request.addressLine4 = "ADDRESS_LINE_4_OR_LEAVE_BLANK";

    request.addressLine5 = �ADDRESS_LINE_5_OR_LEAVE_BLANK";

    request.addressLine6 = "ADDRESS_LINE_6_OR_LEAVE_BLANK";

    request.addressLine7 = "ADDRESS_LINE_7_OR_LEAVE_BLANK";

 

    request.userField1Label = "Country";

    request.userField1Value = "COUNTRY";

    request.userField2Label = "Date of Birth";

    request.userField2Value = "DATE_OF_BIRTH";

    request.userField3Label = "National Id";

    request.userField3Value = "NATIONAL_ID";

    request.userField4Label = "User Display 4";

    request.userField4Value = "";

    request.userField5Label = "User Display 5";

    request.userField5Value = "";

    request.userField6Label = "User Display 6";

    request.userField6Value = "";

    request.userField7Label = "";

    request.userField7Value = "";

    request.userField8Label = "";

    request.userField8Value = "";

 

    //  Leave this as an empty array.  This option will generate a match whenever this user field

    //  matches the corresponding Compliance Record user field, regardless of the Name/Address.

    request.userFieldsSearch = new Wrapper.ArrayOfInt();

    request.userFieldsSearch.Clear();

 

    //  Used for Arabic or Chinese Script versions of the Client Name

    request.alternateNames = new Wrapper.SLAlternateName[0];

 

    //  Initialize Options

    request.searchType = Wrapper.SLSearchTypeEnum.Individual;

    request.clientStatus = Wrapper.SLClientStatusEnum.Active;

    request.sendToReview = Wrapper.SLYesNoEnum.Yes;

    request.generateclientId = Wrapper.SLYesNoEnum.No;

    request.updateUserFields = Wrapper.SLYesNoEnum.No;

 

    request.clientSearchCode = Wrapper.SLClientSearchCodeEnum.FullName;

 

    request.addClient = Wrapper.SLYesNoEnum.Yes;

    request.returnComplianceRecords = Wrapper.SLYesNoEnum.No;

    request.returnCategory = Wrapper.SLYesNoEnum.No;

    request.returnSourceLists = Wrapper.SLYesNoEnum.No;

    request.skipSearch = Wrapper.SLYesNoEnum.No;

 

    //  Used if created custom Statuses within FinScan so the Wrapper knows how to handle them

    request.customStatus = new Wrapper.SLCustomStatus[0];

 

    //  To use Default Mandatory Compliance Lists/Categories

    request.lists = new Wrapper.SLComplianceList[0];

    //  To pass in Compliance Lists/Categories

    request.lists = new Wrapper.SLComplianceList[1];

    request.lists[0] = new Wrapper.SLComplianceList

    {

        listName = "OFAC Specially Designated Nationals",

        listId = "OFC",

        listCategories = new Wrapper.SLComplianceListCategory[1]

    };

    request.lists[0].listCategories[0] = new Wrapper.SLComplianceListCategory

    {

        categoryName = "Full Source",

        isMandatory = Wrapper.SLYesNoEnum.Yes,

        isSelected = Wrapper.SLYesNoEnum.Yes

    };

 

    //  Create the Service

    Wrapper.LSTServicesLookupSoapClient service = new Wrapper.LSTServicesLookupSoapClient();

 

    //  Call the Service

    try

    {

        response = service.SLLookup(request);

 

        //  Check the Response

        if (response.status != Wrapper.SLResultTypeEnum.ERROR &&

            response.status != Wrapper.SLResultTypeEnum.FAIL)

        {

            Console.WriteLine("Called the FinScan Wrapper, found " + response.returned + " Matches");

        }

    }

    catch (Exception ex)

    {

        Console.WriteLine("Exception calling FinScan Wrapper:\n" + ex.Message);

    }

 

 

C# REST Sample:

using RestSharp;

...

            var client = new RestClient("https://isi-api-doc.azurewebsites.net/LSTServicesLookupREST/");

                                               

            var request = new RestRequest("wrapper/lookup", Method.POST);

            request.AddHeader("Accept", "application/json");

            request.RequestFormat = DataFormat.Json;

            request.Parameters.Clear();

            var body = "{\n" +

                       "  \"organizationName\":\"ORG_NAME\",\n" +

                       "  \"userName\":\"USER_NAME\",\n" +

                       "  \"password\":\"USER_PASSWORD\",\n" +

                       "  \"applicationId\":\"APPL_ID\",\n" +

                       "  \"lists\":[],\n" +

                       "  \"searchType\":\"Individual\",\n" +

                       "  \"clientId\":\"CLIENT_ID\",\n" +

                       "  \"clientStatus\":\"Active\",\n" +

                       "  \"gender\":\"Unknown\",\n" +

                       "  \"nameLine\":\"CLIENT_NAME\",\n" +

                       "  \"alternateNames\":[],\n" +

                       "  \"addressLine1\":\"ADDRESS_LINE_1_OR_LEAVE_BLANK\",\n" +

                       "  \"addressLine2\":\"ADDRESS_LINE_2_OR_LEAVE_BLANK\",\n" +

                       "  \"addressLine3\":\"ADDRESS_LINE_3_OR_LEAVE_BLANK\",\n" +

                       "  \"addressLine4\":\"ADDRESS_LINE_4_OR_LEAVE_BLANK\",\n" +

                       "  \"addressLine5\":\"ADDRESS_LINE_5_OR_LEAVE_BLANK\",\n" +

                       "  \"addressLine6\":\"ADDRESS_LINE_6_OR_LEAVE_BLANK\",\n" +

                       "  \"addressLine7\":\"ADDRESS_LINE_7_OR_LEAVE_BLANK\",\n" +

                       "  \"specificElement\":\"\",\n" +

                       "  \"clientSearchCode\":\"FullName\",\n" +

                       "  \"returnComplianceRecords\":\"No\",\n" +

                       "  \"addClient\":\"Yes\",\n" +

                       "  \"sendToReview\":\"Yes\",\n" +

                       "  \"userFieldsSearch\":[],\n" +

                       "  \"updateUserFields\":\"Yes\",\n" +

                       "  \"userField1Label\":\"Country\",\n" +

                       "  \"userField1Value\":\"COUNTRY\",\n" +

                       "  \"userField2Label\":\"Date of Birth\",\n" +

                       "  \"userField2Value\":\"DATE_OF_BIRTH\",\n" +

                       "  \"userField3Label\":\"National Id\",\n" +

                       "  \"userField3Value\":\"NATIONAL_ID\",\n" +

                       "  \"userField4Label\":\"User Display 4\",\n" +

                       "  \"userField4Value\":\"\",\n" +

                       "  \"userField5Label\":\"User Display 5\",\n" +

                       "  \"userField5Value\":\"\",\n" +

                       "  \"userField6Label\":\"User Display 6\",\n" +

                       "  \"userField6Value\":\"\",\n" +

                       "  \"userField7Label\":\"\",\n" +

                       "  \"userField7Value\":\"\",\n" +

                       "  \"userField8Label\":\"\",\n" +

                       "  \"userField8Value\":\"\",\n" +

                       "  \"comment\":\"\",\n" +

                       "  \"passthrough\":\"\",\n" +

                       "  \"customStatus\":[],\n" +

                       "  \"returnCategory\":\"No\",\n" +

                       "  \"returnSourceLists\":\"No\",\n" +

                       "  \"generateclientId\":\"No\",\n" +

                       "  \"skipSearch\":\"No\"\n" +

                       "}";

 

            request.AddParameter("application/json", body, ParameterType.RequestBody);

 

            // execute the request

            IRestResponse response = client.Execute(request);

 

            // Get raw content as string

            var content = response.Content;

 

Java SOAP Sample:

//  Ran "wsimport.exe" -p Wrapper -B-XautoNameResolution  https://isi-api-doc.azurewebsites.net/LSTServicesLookupSOAP/LSTServicesLookup.asmx?WSDL

//  to generate the stub classes needed to call the FinScan Wrapper web services.

import com.innovativesystems.*;

...

    // TODO Auto-generated method stub

    LSTServicesLookupRequest request = new LSTServicesLookupRequest();

    LSTServicesLookupResponse response = null;

       

    //  Initialize Credentials

    request.setOrganizationName("ORG_NAME");

    request.setUserName("USER_NAME");

    request.setPassword("USER_PASSWORD");

 

    //  Initialize Client Information

    request.setApplicationId("APPL_ID");

    request.setClientId("CLIENT_ID");

    request.setNameLine("CLIENT_NAME");

    request.setGender(SLGenderEnum.Unknown);

    request.setAddressLine1("ADDRESS_LINE_1_OR_LEAVE_BLANK");

    request.setAddressLine2("ADDRESS_LINE_2_OR_LEAVE_BLANK");

    request.setAddressLine3("ADDRESS_LINE_3_OR_LEAVE_BLANK");

    request.setAddressLine4("ADDRESS_LINE_4_OR_LEAVE_BLANK");

    request.setAddressLine5("ADDRESS_LINE_5_OR_LEAVE_BLANK");

    request.setAddressLine6("ADDRESS_LINE_6_OR_LEAVE_BLANK");

    request.setAddressLine7("ADDRESS_LINE_7_OR_LEAVE_BLANK");

 

    request.setUserField1Label("Country");

    request.setUserField1Value("COUNTRY");

    request.setUserField2Label("Date of Birth");

    request.setUserField2Value("DATE_OF_BIRTH");

    request.setUserField3Label("National Id");

    request.setUserField3Value("NATIONAL_ID");

    request.setUserField4Label("User Display 4");

    request.setUserField4Value("");

    request.setUserField5Label("User Display 5");

    request.setUserField5Value("");

    request.setUserField6Label("User Display 6");

    request.setUserField6Value("");

    request.setUserField7Label("");

    request.setUserField7Value("");

    request.setUserField8Label("");

    request.setUserField8Value("");

 

    //  Leave this an an empty array.  This option will generate a match whenever this user field

    //  matches the corresponding Compliance Record user field, regardless of the Name/Address.

    request.setUserFieldsSearch(new int [0]);

 

    //  Used for Arabic or Chinese Script versions of the Client Name

    request.setAlternateNames(new SLAlternateName[0]);

 

    //  Initialize Options

    request.setSearchType(SLSearchTypeEnum.Individual);

    request.setClientStatus(SLClientStatusEnum.Active);

    request.setSendToReview(SLYesNoEnum.Yes);

    request.setGenerateclientId(SLYesNoEnum.No);

    request.setUpdateUserFields(SLYesNoEnum.No);

 

    request.setClientSearchCode(SLClientSearchCodeEnum.FullName);

 

    request.setAddClient(SLYesNoEnum.Yes);

    request.setReturnComplianceRecords(SLYesNoEnum.No);

    request.setReturnCategory(SLYesNoEnum.No);

    request.setReturnSourceLists(SLYesNoEnum.No);

    request.setSkipSearch(SLYesNoEnum.No);

 

    //  Used if created custom Statuses within FinScan so the Wrapper knows how to handle them

    request.setCustomStatus(new SLCustomStatus[0]);

 

    //  To use Default Mandatory Compliance Lists/Categories

    request.setLists(new SLComplianceList[0]);

 

    //  To pass in Compliance Lists/Categories: OFAC Specially Designated Nationals Full Source is shown

   SLComplianceList [] myList = new SLComplianceList[1];

    myList[0] = new SLComplianceList();

    myList[0].setListName("OFAC Specially Designated Nationals");

    myList[0].setListId("OFC");

    SLComplianceListCategory [] myCategory = new SLComplianceListCategory[1];

    myCategory[0] = new SLComplianceListCategory();

    myCategory[0].setCategoryName("Full Source");

    myCategory[0].setIsMandatory(SLYesNoEnum.Yes);

    myCategory[0].setIsSelected(SLYesNoEnum.Yes);

    myList[0].setListCategories(myCategory);

 

    request.setLists(new SLComplianceList[1]);

 

    //  Create the Service

    LSTServicesLookupSoapProxy service = new LSTServicesLookupSoapProxy();

    service.setEndpoint("https://isi-api-doc.azurewebsites.net/LSTServicesLookupSOAP/LSTServicesLookup.asmx");

                                            

    //  Call the Service

    try

    {

        response = service.SLLookup(request);

 

        //  Check the Response

        if (response.getStatus() != SLResultTypeEnum.ERROR &&

        response.getStatus() != SLResultTypeEnum.FAIL)

        {

        System.out.println("Called the FinScan Wrapper, found " + response.getReturned() + " Matches");

        }

    }

    catch (Exception ex)

    {

        System.out.println("Exception calling FinScan Wrapper:\n" + ex.getMessage());

    }

 

 

Java REST Sample:

import com.sun.jersey.api.client.Client;

import com.sun.jersey.api.client.ClientResponse;

import com.sun.jersey.api.client.WebResource;

...

        try

        {

            Client client = Client.create();

   

            WebResource webResource = client.resource("https://isi-api-doc.azurewebsites.net/LSTServicesLookupREST/wrapper/lookup");

 

            String input = "{\n" +

                    "  \"organizationName\":\"ORG_NAME\",\n" +

                    "  \"userName\":\"USER_NAME\",\n" +

                    "  \"password\":\"USER_PASSWORD\",\n" +

                    "  \"applicationId\":\"APPL_ID\",\n" +

                    "  \"lists\":[],\n" +

                    "  \"searchType\":\"Individual\",\n" +

                    "  \"clientId\":\"CLIENT_ID\",\n" +

                    "  \"clientStatus\":\"Active\",\n" +

                    "  \"gender\":\"Unknown\",\n" +

                    "  \"nameLine\":\"CLIENT_NAME\",\n" +

                    "  \"alternateNames\":[],\n" +

                    "  \"addressLine1\":\"ADDRESS_LINE_1_OR_LEAVE_BLANK\",\n" +

                    "  \"addressLine2\":\"ADDRESS_LINE_2_OR_LEAVE_BLANK\",\n" +

                    "  \"addressLine3\":\"ADDRESS_LINE_3_OR_LEAVE_BLANK\",\n" +

                    "  \"addressLine4\":\"ADDRESS_LINE_4_OR_LEAVE_BLANK\",\n" +

                    "  \"addressLine5\":\"ADDRESS_LINE_5_OR_LEAVE_BLANK\",\n" +

                    "  \"addressLine6\":\"ADDRESS_LINE_6_OR_LEAVE_BLANK\",\n" +

                    "  \"addressLine7\":\"ADDRESS_LINE_7_OR_LEAVE_BLANK\",\n" +

                    "  \"specificElement\":\"\",\n" +

                    "  \"clientSearchCode\":\"FullName\",\n" +

                    "  \"returnComplianceRecords\":\"No\",\n" +

                    "  \"addClient\":\"Yes\",\n" +

                    "  \"sendToReview\":\"Yes\",\n" +

                    "  \"userFieldsSearch\":[],\n" +

                    "  \"updateUserFields\":\"Yes\",\n" +

                    "  \"userField1Label\":\"Country\",\n" +

                    "  \"userField1Value\":\"COUNTRY\",\n" +

                    "  \"userField2Label\":\"Date of Birth\",\n" +

                    "  \"userField2Value\":\"DATE_OF_BIRTH\",\n" +

                    "  \"userField3Label\":\"National Id\",\n" +

                    "  \"userField3Value\":\"NATIONAL_ID\",\n" +

                    "  \"userField4Label\":\"User Display 4\",\n" +

                    "  \"userField4Value\":\"\",\n" +

                    "  \"userField5Label\":\"User Display 5\",\n" +

                    "  \"userField5Value\":\"\",\n" +

                    "  \"userField6Label\":\"User Display 6\",\n" +

                    "  \"userField6Value\":\"\",\n" +

                    "  \"userField7Label\":\"\",\n" +

                    "  \"userField7Value\":\"\",\n" +

                    "  \"userField8Label\":\"\",\n" +

                    "  \"userField8Value\":\"\",\n" +

                    "  \"comment\":\"\",\n" +

                    "  \"passthrough\":\"\",\n" +

                    "  \"customStatus\":[],\n" +

                    "  \"returnCategory\":\"No\",\n" +

                    "  \"returnSourceLists\":\"No\",\n" +

                    "  \"generateclientId\":\"No\",\n" +

                    "  \"skipSearch\":\"No\"\n" +

                    "}";

 

            ClientResponse response = webResource.type("application/json").post(ClientResponse.class, input);

 

            if (response.getStatus() != 200)

            {

                throw new RuntimeException("Failed : HTTP error code : " + response.getStatus());

            }

 

            System.out.println("Output from Server .... \n");

            String output = response.getEntity(String.class);

            System.out.println(output);

        }

        catch (Exception e)

        {

            e.printStackTrace();

        }

 

 

Python SOAP Sample:

 

##############################################################################################

# WebServiceDemo.py demonstrates how to call the FinScan Wrapper web services

# using Python 3.6.0.

#

# This program uses zeep, a SOAP client for Python:

# https://python-zeep.readthedocs.io/en/master/index.html

# zeep can be installed with:

# pip install zeep

#

# To view the availible operations in the FinScan Wrapper using zeep, you

# can run:

# python --mzeep https://hosted3.finscan.com/isi/Wrapper/v4.3.2/LSTServicesLookup.asmx?WSDL

##############################################################################################

 

from zeep import Client

from zeep import xsd

 

# WSDL file is retrieved when Client is instantiated.

client = Client(wsdl="https://hosted3.finscan.com/isi/Wrapper/v4.3.2/LSTServicesLookup.asmx?WSDL")

 

# creating a dictionary with required fields for SLLookup call

lookup_params = {

'organizationName': 'ORG_NAME',

'userName': 'USER_NAME',

'password': '_USER_PASSWORD',

'applicationId': 'APPL_ID',

'searchType': 'Individual',

'clientId': 'CLIENT_ID',

'clientStatus': 'Active',

'gender': 'Unknown',

'nameLine': 'CLIENT_NAME',

'clientSearchCode': 'FullName',

'updateUserFields': 'No',

'returnComplianceRecords': 'Yes',

'addClient': 'No',

'sendToReview': 'No',

'returnCategory': 'No',

'returnSourceLists': 'No',

'generateclientId': 'No',

'skipSearch': 'No'

 

}

 

# using client.service to call the SLLookup method zeep read from the WSDL.

# zeep will automatically format the lookup_parms dictionary into an appropriate object.

response = client.service.SLLookup(lookup_params)

 

#print out the response from the SLLookup call.

print(response)