and more in a single search tool across platforms. Read the announcement here. |
02/14/2024 12:04 AM - edited 02/14/2024 12:05 AM
Below are the things which are already performed for establishing connectivity:
1. Whitelisted the hostname on port 80 and 443
2. Uploaded SSL cert
3. Verified URL and response in postman
4. Checked if config JSON is present so that it is not getting timed out.
ImportAccountEntJSON used with hardcoding apikey value-
{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty1",
"activeStatus": [
"A"
],
"deleteLinks": true,
"accountThresholdValue": 10000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": true,
"deleteAccEntForActiveAccounts": true
},
"includeExistingInActiveAccounts": true,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxxxx/xxxx/api/os/BP-SAV-USERGROUP?oslc.select=maxuserid,userid,status",
"httpHeaders": {
"Authorization": "apikey xxxxxxxxxx",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "rdfs:member",
"keyField": "name",
"statusConfig": {
"active": "A",
"inactive": "T"
},
"colsToPropsMap": {
"accountID": "spi:maxuserid~#~char",
"name": "spi:userid~#~char",
"displayName": "spi:userid~#~char",
"status": "spi:status~#~char",
"customproperty1": "spi:status~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"Groups": {
"listPath": "spi:groupuser",
"idPath": "spi:groupname",
"keyField": "entitlement_value"
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Groups": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxxxxx/xxxxx/api/os/MXAPIGROUP?oslc.select=groupname,description,maxgroupid",
"httpHeaders": {
"Authorization": "apikey xxxxxxxx",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "rdfs:member",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "spi:maxgroupid~#~char",
"entitlement_value": "spi:groupname~#~char",
"description": "spi:description~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}
Error: Failed url-http://xxxxxx/xxxx/api/os/BP-SAV-USERGROUP?oslc.select=maxuserid,userid,status with Error Message-null
Log details:
called executeGetRequestWithHeaders for api... |
after calling executeRequestWithHeaders for api... |
called api... |
timeout validated for api... |
got response for api... |
Got showLogs = true |
Got Webservice API Response: [headers:[Date: Wed, 14 Feb 2024 07:45:04 GMT, X-Powered-By: Servlet/3.0, X-Frame-Options: SAMEORIGIN, X-Content-Type-Options: nosniff, X-XSS-Protection: 1, Access-Control-Allow-Origin: *, Access-Control-Allow-Credentials: true, Access-Control-Allow-Methods: GET,POST,PUT,DELETE, Access-Control-Allow-Headers: maxauth,x-method-override,patchtype,content-type,accept,x-public-uri,properties, Access-Control-Expose-Headers: csrftoken,Location,maxrowstamp, Expires: Thu, 01 Dec 1994 16:00:00 GMT, Cache-Control: no-cache=set-cookie=******set-cookie":"******" |
pullObjectsByRest - responseStatusCode ::400 |
Exception in pullObjectsByRest :400 |
Inside token Expiry Exception block. connectionParamMap.refreshTryCount : 5 |
Incrementing connectionParamMap.refreshTryCount : 6 |
maxRefreshTryCount : 5 |
Exception in token refresh : null |
Error WebService call failed After retrying 5 times with responseStatusCode-null, Failed url-http://xxxxxxx/xxxxxx/api/os/MXAPIGROUP?oslc.select=groupname,description,maxgroupid, Error Message - null |
Solved! Go to Solution.
02/14/2024 12:14 AM
can you check token please , looks like 400 authentication issue.
responseStatusCode ::400 Exception in pullObjectsByRest :400 Inside token Expiry Exception block. connectio
02/14/2024 12:20 AM
apikey value is matching and same in both in postman and in ImportAccountEntJSON JSON. For debugging purpose right now, I am not using Connection JSON to pass the accesstoken value directly to ImportAccountEntJSON JSON therefore hardcoding it there.
02/14/2024 12:47 AM - edited 02/14/2024 12:52 AM
@mayankshah try like below , May i know it is working in postman?
"httpHeaders": {
"X-Risk-Token": "${access_token}",
"Accept": "application/json"
},
time out issue may it occurring try use below config also
ConfigJson:
{
"connectionTimeoutConfig": {
"connectionTimeout": 100,
"readTimeout": 60,
"writeTimeout": 60,
"retryWait": 2,
"retryCount": 3
}
}
02/14/2024 03:29 AM
Using below httpHeaders worked for the hardcoding accountentimport JSON worked:
"httpHeaders": {
"apikey": "xxxxxxx",
"Accept": "application/json"
}
Below is the final connection json:
{
"authentications": {
"acctAuth": {
"authType": "oauth2",
"httpHeaders": {
"contentType": "application/json"
},
"authError": [
"InvalidAuthenticationToken",
"AuthenticationFailed"
],
"url": "xxxxxxxxx",
"httpMethod": "POST",
"httpContentType": "application/json",
"errorPath": "error.code",
"maxRefreshTryCount": 5,
"tokenResponsePath": "access_token",
"authHeaderName": "apikey",
"accessToken": "xxxxxxxxxxxxxxx,
"retryFailureStatusCode": []
}
}
}
Below is the final accountentimport JSON:
{
"accountParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"statusAndThresholdConfig": {
"statusColumn": "customproperty1",
"activeStatus": [
"A"
],
"deleteLinks": true,
"accountThresholdValue": 10000,
"correlateInactiveAccounts": true,
"inactivateAccountsNotInFile": true,
"deleteAccEntForActiveAccounts": true
},
"includeExistingInActiveAccounts": true,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxxxx/xxxx/api/os/BP-SAV-USERGROUP?oslc.select=maxuserid,userid,status",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "rdfs:member",
"keyField": "name",
"statusConfig": {
"active": "A",
"inactive": "T"
},
"colsToPropsMap": {
"accountID": "spi:maxuserid~#~char",
"name": "spi:userid~#~char",
"displayName": "spi:userid~#~char",
"status": "spi:status~#~char",
"customproperty1": "spi:status~#~char",
"customproperty31": "STORE#ACC#ENT#MAPPINGINFO~#~char"
}
}
},
"acctEntMappings": {
"Groups": {
"listPath": "spi:groupuser",
"idPath": "spi:groupname",
"keyField": "entitlement_value"
}
}
},
"entitlementParams": {
"connection": "acctAuth",
"processingType": "SequentialAndIterative",
"entTypes": {
"Groups": {
"entTypeOrder": 0,
"call": {
"call1": {
"callOrder": 0,
"stageNumber": 0,
"http": {
"url": "https://xxxxxxx/xxxxx/api/os/MXAPIGROUP?oslc.select=groupname,description,maxgroupid",
"httpHeaders": {
"Authorization": "${access_token}",
"Accept": "application/json"
},
"httpContentType": "application/json",
"httpMethod": "GET"
},
"listField": "rdfs:member",
"keyField": "entitlementID",
"colsToPropsMap": {
"entitlementID": "spi:maxgroupid~#~char",
"entitlement_value": "spi:groupname~#~char",
"description": "spi:description~#~char"
},
"disableDeletedEntitlements": true
}
}
}
}
},
"acctEntParams": {
"processingType": "acctToEntMapping"
}
}