For a deeper look into our World Check One API, look into:

Overview |  Quickstart |  Documentation |  Downloads

question

Upvotes
Accepted
31 0 4 6

Intermittent Worldcheckone server connection issue

2% to 3% of total portal worldcheckone call/requests are getting failed with below connection issues to dev worldcheckone server

  • Unable to connect to the remote server
  • The underlying connection was closed: An unexpected error occurred on a receive.
  • The underlying connection was closed: A connection that was expected to be kept alive was closed by the server.
  • The remote server returned an error: (503) Server Unavailable.
  • The remote server returned an error: (400) Bad Request.

Is there any known solution for this type of connection issues?

Below is the sample code snippet for call/request

----------------------------------------------------------------------------------------

string date = dateValue.ToString("R"); // WC1 header requires GMT datetime stamp

string requestendpoint = "https://" + GateWayHost + GateWayUrl + "cases/" + CaseSystemID + "/screeningRequest";


string postData = "{\"customFields\":[],\"providerTypes\":[\"WATCHLIST\"]}";


string msg = postData;

string dataToSign = "(request-target): post " + GateWayUrl + "cases/" + CaseSystemID + "/screeningRequest" + "\n" +

"host: " + GateWayHost + "\n" + // no https only the host name

"date: " + date;

string hmac = generateAuthHeader(dataToSign, APISecret);


string authorisation = "Signature keyId=\"" + APIKey + "\",algorithm=\"hmac-sha256\",headers=\"(request-target) host date\",signature=\"" + hmac + "\"";


//Defining TLS

ServicePointManager.Expect100Continue = true;

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls

| SecurityProtocolType.Tls11

| SecurityProtocolType.Tls12

| SecurityProtocolType.Ssl3;

//END


// Send the Request to the API server

HttpWebRequest WebReq = (HttpWebRequest)WebRequest.Create(requestendpoint);

// Set the Headers

WebReq.Method = "POST";

WebReq.Headers.Add("Authorization", authorisation);

WebReq.Headers.Add("Cache-Control", "no-cache");

WebReq.Date = dateValue; // use datetime value GMT time

using (HttpWebResponse WebResp = (HttpWebResponse)WebReq.GetResponse())

{ // Status information about the request

if (WebResp.StatusCode.ToString() == "Created")

{

str = WC1CaseAuditEventRequest(requestObj, request, calledBy, quoteId, historyId, partyType, CaseSystemID, dateValue);

}

}

----------------------------------------------------------------------------------------

world-checkworld-check-oneconnection
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@vijay.shejawal

Hi,

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the most appropriate reply.

However, if you have known an answer, please post the answer, and then accept it. This will guide all community members who have a similar question.

Thanks,

AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,

AHS

Upvotes
Accepted
4.2k 8 5 6

@vijay.shejawal

Thank you for clarifying that you are using the API call "SEQ-screen-async: Screen a case".

Request you to provide us the request headers and response headers of the failed API call.



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@vijay.shejawal Requesting your response on this.

I am also writing you an email to understand more on the issue.

Upvotes
4.2k 8 5 6

@vijay.shejawal

You are getting a 400 Bad request or 503 service unavailable for the endpoint "SEQ-screen-sync-individual: Perform Synchronous Screening" because you are sending the incorrect payload.

Can you please confirm if the below JSON payload gives you a success response?

{
  "groupId":"{
                {Enter your group-id}}",
  "entityType": "INDIVIDUAL",
  "providerTypes": [
    "WATCHLIST"
  ],
  "name": "putin",
  "secondaryFields":[],
  "customFields":[]
}

You can declare your "postData" variable with the above payload.

Kindly let me know if this was helpful.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

We are performing SEQ-screen-async: Screen a case and we have observed intermittent failures for some of cases.

Most of our these async calls are in success while 2 to 3% are in failure with connection error as mentioned.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.