<LatestWSDLVersion> is shown in Example Code below, please replace this with GlobalServices21a.wsdl.
If you are unsure of any of the details you can contact the helpdesk for more information.
IdMClientWrapper facilities
The module globalservices-capture-trace-verify-wrapper-lib exposes a main class IdMClientWrapper. This class has three public static methods which can be used to submit requests to IdMGlobalServices.- performCaptureRequest()
- performTraceRequest()
- performVerifyRequest()
Method Parameters
The parameters for these calls are as follows:| Parameter | Type | Description |
|---|---|---|
| username | String | The full username for the IdM account (e.g. username@domain) |
| password | String | The plain-text password for the IdM account (e.g. pAssW0rd) |
| endpoint | String | The URL for IdM Global Services (normally https://idmp.gb.co.uk/idm-globalservices-ws/<LatestWSDLVersion>) |
| timeoutMS | int | Timeout in millisecond that the application should allow while waiting for an available client (e.g. 1000) |
| request | ProfileRequestCapture or ProfileRequestTrace or ProfileRequestVerify | The ProfileRequest of the appropriate type containing the request details. |
Wrapper configuration
The IdMClientWrapper has a further static method which may be used to set the size of the pool of connections; the default pool size is 100. Any change to the pool size should be made in the application setup, and before any connections are used.Making a Capture Request
The following illustrates how the performCaptureRequest() method may be used for capture requests.Create the main request object
The request details are held within an instance of ProfileRequestCapture, defined in the IdMGlobalServices WSDL. As a mimimum, the following three elements of the ProfileRequestCapture instance should be populated:| Element | Type | Description |
|---|---|---|
| customerReference | String | A reference that can be used to track the particular request (e.g. MyOrgRequest 23) |
| profileGuid | String | Profile to execute detailing which data sets to use. See the individual services documentation for details. Some examples are given below (organised by Profile and GUID): - UK Address Premise: 6C49BC44-C104-41b2-BB62-2AE45A09DD54 - UK Address Street Level: C6356DD8-1CBA-4371-BE94-D5E08F1C777E - Global Telephone (Full) web service: 454F13CA-8C71-40D6-9FEF-A88D821C99E4 - Global Telephone (Rapid) web service: 315559EB-94DD-49B8-8277-FEEB42CD6820 - Email Validation web service: 20B3F459-7D04-42AD-B7E2-AA1D5FE07E82 - Global Bank Validation web service: 39944560-4137-489A-A72D-64F0F3524B08 |
| requestData | ProfileRequestCaptureData | The details of the request |
Create the request data object
The request details are held within an instance of ProfileRequestCaptureData, defined in the IdMGlobalServices WSDL. The options element should be populated, together with one of the following, depending on the chosen profile:| Element | Type | Description |
|---|---|---|
| address | IdmDataSearchAddress | The address information (e.g. postcode, building number) for an address lookup profile |
| telephone | List<IdmDataCaptureTelephone> | A list containing one or more mobile or landline telephone numbers for a telephone validation profile |
List<String> | A list containing one or more email addresses for an email validation profile | |
| bank | List<IdMDataCaptureBank> | A list containing one or more bank details for a bank validation profile |
- Create an instance of IdmRequestOptions and populate as required.
- Create an instance of IdmDataSearchAddress, or List of telephone, email or bank details and populate as required.
- Create an instance of ProfileRequestCaptureData, and set the options and the address, telephone, email or bank element.
- Create an instance of ProfileRequestCapture, and set the customerReference, profileGuid and requestData elements.
Making the request call
Once the profile request has been set up, the request is submitted to IdM Global Services by calling the appropriate static method of IdMClientWrapper, with the user credentials, endpoint, timeout and request object. The calling application should be prepared to handle any TimeoutException or general Exception which may be thrown and, as good practice, check in case the returned ProfileResponse object is null before attempting to parse it.Parsing the response
The ProfileResponse structure contains the results for an operation performed against a profile. Type: ProfileResponse| Field Name | Type | Description |
|---|---|---|
| profileHeader | ProfileHeader | Contains the Profile information for the results of the query |
| profileResponses | ProfileResponseDetails | Response data to the query |
| Field Name | Type | Description |
|---|---|---|
| transactionGuid | String | Unique transaction identifier for the component e.g. Address Lookup component |
| componentName | String | Name of the component |
| componentStatus | Enum | SUCCESS, FAILURE, INSUFFICIENTCRITERIA, NA |
| componentAction | String | Component Action |
| responseType | Enum | CAPTURE |
| invoice | DataLicenceInvoice | List of charges for the query |
| captureResponse | CaptureResponse | Data from a component returning data e.g. Address lookup data |
| validateResponse | ValidateResponse | Data from a component returning validation responses e.g. Telephone Validation service |
| Field Name | Type | Description |
|---|---|---|
| resultStatus | Enum | NA, INSUFFICIENTCRITERIA, NONE, SINGLE, MULTIPLE, PICKLIST, VERIFY |
| recordsReturned | Int | Number individual of records returned e.g. number of addresses |
| moreData | Boolean | More data on the server |
| totalRecordCount | Int | Total records from the query |
| totalPages | Int | Pagination - Total pages |
| responseCount | Int | Number of groups of responses returned |
| response | CaptureResponseData | Response data |
| Field Name | Type | Description |
|---|---|---|
| resultStatus | Enum | NA, INSUFFICIENTCRITERIA, NONE, SINGLE, MULTIPLE, PICKLIST, VERIFY |
| recordsReturned | Int | Number individual of records returned e.g. number of addresses |
| responseCount | Int | Number of group of response returned |
| response | ValidateResponseData | Response data |

