We are delighted to share our new EIC Delivery Methodology for efficiently managing Saviynt Implementations and delivering quick time to value. CLICK HERE.

Create User is failing for REST Based application

Sankar
New Contributor
New Contributor

Hi All,

 

We are integrating the New application called Datorama using REST based integration.
 
When we trying to create user, we are getting error.
++++++++++++++++++++++++++++++++++++++++++
{"call1":{"headers":{"X-Cache":"TCP_MISS from a2-19-176-85.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.85,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","Content-Length":"593","X-Timbermill-Id":"api_request___16219c98_8ebd_41a4_8e75_78ff09c08cca","Date":"Wed, 01 Mar 2023 13:01:37 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"}}
+++++++++++++++++++++++++++++++++++++++++++
 
Please find the postman screenshot, which we can able to create user through postman.
 Sankar_1-1677757190978.png

Please find the CreateAccountJSON we used.

 

Can you please help me out.
 
Thanks,
Sankar.
31 REPLIES 31

prasannta
Saviynt Employee
Saviynt Employee

Can you please share the createaccountJSON? I do not see in the above post.

{
"accountIdPath": "call1.message.email",
"dateFormat": "yyyy-MM-dd'T'HH:mm:ssXXX",
"responseColsToPropsMap": {
"name": "call1.message.email~#~char"
},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "https://xxx-xx.xxxxxxxx.com/v1/users",
"httpMethod": "POST", "httpParams":"{\"email\":\"${user.email}\",\"permissionSetIds\":\"1152945\",\"name\":\"\",\"firstname\":\"${user.firstname}\",\"lastname\":\"${user.lastname}\",\"accountId\":\"1110602\",\"sendWelcomeEmail\":\"null\",\"manageAccountUsers\":\"false\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}",
"httpHeaders": {
"Content-Type": "application/json",
"Authorization": "${access_token}"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,201
]
}
}
]
}

[This message has been edited by moderator to mask url]

Sankar
New Contributor
New Contributor

Hi All,

Can someone help here?

Thanks,

Sankar.

prasannta
Saviynt Employee
Saviynt Employee

Can you try updating the httpParams to below value and try it out:

"httpParams":"[{\"email\":\"${user.email}\",\"permissionSetIds\":\"1152945\",\"name\":\"\",\"firstname\":\"${user.firstname}\",\"lastname\":\"${user.lastname}\",\"accountId\":\"1110602\",\"sendWelcomeEmail\":\"null\",\"manageAccountUsers\":\"false\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}]",

Sankar
New Contributor
New Contributor

Hi Prashant,

I have updated Httpparams as you mentioned. still no luck.

 

The below is the error from logs.

 

2023-03-08/09:58:31.067 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - createAccountJSON: [accountIdPath:call1.message.email, dateFormat:yyyy-MM-dd'T'HH:mm:ssXXX, responseColsToPropsMap:[name:call1.message.email~#~char], call:[[name:call1, connection:userAuth, url:https://app-eu.datorama.com/v1/users, httpMethod:POST, httpParams:[{"email":"${user.email}","permissionSetIds":"1152945","name":"","firstname":"${user.firstname}","lastname":"${user.lastname}","accountId":"1110602","sendWelcomeEmail":"null","manageAccountUsers":"false","role":"ACCOUNT_VIEWER","uiTheme":"BLACK_THEME","active":"true"}], httpHeaders:[Content-Type:application/json, Authorization:${access_token}], httpContentType:application/json, successResponses:[statusCode:[200, 201]]]]]
2023-03-08/09:58:31.074 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - configJSON: [showLogs:true]
2023-03-08/09:58:31.087 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - email: email.1000541143@pmi.dev
2023-03-08/09:58:31.087 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - Calling createNewUser
2023-03-08/09:58:31.087 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - arsTasks.provisioningComments {"call1":{"headers":{"X-Cache":"TCP_MISS from a2-19-176-85.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.85,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","Content-Length":"593","X-Timbermill-Id":"api_request___16219c98_8ebd_41a4_8e75_78ff09c08cca","Date":"Wed, 01 Mar 2023 13:01:37 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"}}
2023-03-08/09:58:31.089 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - arsTasks?.requestAccessKey: com.saviynt.ecm.workflow.Request_Access : 54174

 

Thanks,
Sankar.

SB
Saviynt Employee
Saviynt Employee

Can you try with the below and see if it works.

"httpParams": "{\"email\":\"${user.email}\",\"permissionSetIds\":\"1152945\",\"name\":\"\",\"firstname\":\"${user.firstname}\",\"lastname\":\"${user.lastname}\",\"accountId\":1110602,\"sendWelcomeEmail\":\"null\",\"manageAccountUsers\":\"false\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}",

Also, do ensure to update the Connection Parameter Config json with Value {"showLogs":true} before running the provisioning job. In the logs look for string Calling Webservice Url - if it still does not work and share the same along with the error.


Regards,
Sahil

Sankar
New Contributor
New Contributor

Hi Sahil,

 

I have updated the Json as requested. But still it is not working. Please find the logs.

++++++++++++++++++++++++++++++++++++++++

 

2023-03-09/10:31:06.351 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - Calling Webservice Url - https://xxx-xx.xxxxxxx.com/v1/users with httpParams - [email:email.1000541143@pmi.dev, permissionSetIds:1152945, name:, firstname:Pallavi, lastname:Borah, accountId:1110602, sendWelcomeEmail:null, manageAccountUsers:false, role:ACCOUNT_VIEWER, uiTheme:BLACK_THEME, active:true]
2023-03-09/10:31:06.351 [{}] [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService - isFipsEnabled = false
2023-03-09/10:31:06.351 [{}] [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService - getHttpClient - sslParams : null
2023-03-09/10:31:06.351 [{}] [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService - getHttpClient - proxyParams : null
2023-03-09/10:31:06.351 [{}] [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService - getHttpClient - sslSocketFactory : null
2023-03-09/10:31:06.356 [{}] [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService - getHttpClient - HttpClientBuilder.create().build() called.
2023-03-09/10:31:06.474 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestUtilService - Got showLogs = true
2023-03-09/10:31:06.478 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - Got Webservice API Response: [headers:[Content-Type: application/json;charset=utf-8, Cache-Control: no-cache, no-store, must-revalidate, Expires: Thu, 01 Jan 1970 00:00:00 GMT, X-Timbermill-Id: api_request___25b1a8de_cfdc_4c7a_871d_853a857bc973, Access-Control-Allow-Credentials: true, X-XSS-Protection: 1; mode=block, Strict-Transport-Security: max-age=15724800; includeSubDomains, Client-Real-IP: 2.19.176.95, Client-Real-IP: 54.216.57.21, Date: Thu, 09 Mar 2023 10:31:06 GMT, X-Cache: TCP_MISS from a2-19-176-95.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-), Connection: close], responseText:{"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null}, cookies:[], statusCode:400]
2023-03-09/10:31:06.478 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - pullObjectsByRest - responseStatusCode ::400
2023-03-09/10:31:06.479 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - Entered getResponseHeaders method
2023-03-09/10:31:06.481 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - responseError : null
2023-03-09/10:31:06.482 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - isAuthError: false
2023-03-09/10:31:06.482 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - pullObjectsByRest - responseMap.size : 5
2023-03-09/10:31:06.483 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - pullObjectsByRest - objectList.size : 1
2023-03-09/10:31:06.483 [{}] [quartzScheduler_Worker-6] ERROR rest.RestProvisioningService - Call response: {"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null}
2023-03-09/10:31:06.483 [{}] [quartzScheduler_Worker-6] ERROR rest.RestProvisioningService - callResponseMap: [info:JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token
at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto["permissionSetIds"]), msg:Invalid Request., title:Validation Error, validationError:INVALID_REQUEST, throwable:null]
2023-03-09/10:31:06.483 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - showResponse: null
2023-03-09/10:31:06.484 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - doBreak: false
2023-03-09/10:31:06.513 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - response: [auditDetails:[call1:[[headers:[X-Cache:TCP_MISS from a2-19-176-85.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-), Strict-Transport-Security:max-age=15724800; includeSubDomains, Cache-Control:no-cache, no-store, must-revalidate, Client-Real-IP:2.19.176.85,54.216.57.21, Access-Control-Allow-Credentials:true, Connection:close, Expires:Thu, 01 Jan 1970 00:00:00 GMT, X-XSS-Protection:1; mode=block, Content-Length:593, X-Timbermill-Id:api_request___16219c98_8ebd_41a4_8e75_78ff09c08cca, Date:Wed, 01 Mar 2023 13:01:37 GMT, Content-Type:application/json;charset=utf-8], message:[info:JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token
at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto["permissionSetIds"]), msg:Invalid Request., title:Validation Error, validationError:INVALID_REQUEST, throwable:null], statusCode:400, description:null, status:Failed], [headers:[X-Cache:TCP_MISS from a2-19-176-95.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-), Strict-Transport-Security:max-age=15724800; includeSubDomains, Cache-Control:no-cache, no-store, must-revalidate, Client-Real-IP:2.19.176.95,54.216.57.21, Access-Control-Allow-Credentials:true, Connection:close, Expires:Thu, 01 Jan 1970 00:00:00 GMT, X-XSS-Protection:1; mode=block, X-Timbermill-Id:api_request___5d3149ed_9d39_4009_b180_b4b72fc58a39, Date:Wed, 08 Mar 2023 09:58:31 GMT, Content-Type:application/json;charset=utf-8], message:[info:JSON parse error: Cannot deserialize instance of `com.datorama.web.api.dto.ApiUserDto` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `com.datorama.web.api.dto.ApiUserDto` out of START_ARRAY token
at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 1], msg:Invalid Request., title:Validation Error, validationError:INVALID_REQUEST, throwable:null], statusCode:400, description:null, status:Failed]]], call1:[headers:[X-Cache:TCP_MISS from a2-19-176-95.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-), Strict-Transport-Security:max-age=15724800; includeSubDomains, Cache-Control:no-cache, no-store, must-revalidate, Client-Real-IP:2.19.176.95,54.216.57.21, Access-Control-Allow-Credentials:true, Connection:close, Expires:Thu, 01 Jan 1970 00:00:00 GMT, X-XSS-Protection:1; mode=block, X-Timbermill-Id:api_request___25b1a8de_cfdc_4c7a_871d_853a857bc973, Date:Thu, 09 Mar 2023 10:31:06 GMT, Content-Type:application/json;charset=utf-8], message:[info:JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token
at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto["permissionSetIds"]), msg:Invalid Request., title:Validation Error, validationError:INVALID_REQUEST, throwable:null], statusCode:400, description:null, status:Failed]]
2023-03-09/10:31:06.513 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - Response size: 2
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - Task Response: {"auditDetails":{"call1":[{"headers":{"X-Cache":"TCP_MISS from a2-19-176-85.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.85,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","Content-Length":"593","X-Timbermill-Id":"api_request___16219c98_8ebd_41a4_8e75_78ff09c08cca","Date":"Wed, 01 Mar 2023 13:01:37 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"},{"headers":{"X-Cache":"TCP_MISS from a2-19-176-95.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.95,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","X-Timbermill-Id":"api_request___5d3149ed_9d39_4009_b180_b4b72fc58a39","Date":"Wed, 08 Mar 2023 09:58:31 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `com.datorama.web.api.dto.ApiUserDto` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `com.datorama.web.api.dto.ApiUserDto` out of START_ARRAY token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 1]","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"}]},"call1":{"headers":{"X-Cache":"TCP_MISS from a2-19-176-95.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.95,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","X-Timbermill-Id":"api_request___25b1a8de_cfdc_4c7a_871d_853a857bc973","Date":"Thu, 09 Mar 2023 10:31:06 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"}}
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - accountId: null
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - Task Response: {"auditDetails":{"call1":[{"headers":{"X-Cache":"TCP_MISS from a2-19-176-85.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.85,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","Content-Length":"593","X-Timbermill-Id":"api_request___16219c98_8ebd_41a4_8e75_78ff09c08cca","Date":"Wed, 01 Mar 2023 13:01:37 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"},{"headers":{"X-Cache":"TCP_MISS from a2-19-176-95.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.95,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","X-Timbermill-Id":"api_request___5d3149ed_9d39_4009_b180_b4b72fc58a39","Date":"Wed, 08 Mar 2023 09:58:31 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `com.datorama.web.api.dto.ApiUserDto` out of START_ARRAY token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `com.datorama.web.api.dto.ApiUserDto` out of START_ARRAY token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 1]","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"}]},"call1":{"headers":{"X-Cache":"TCP_MISS from a2-19-176-95.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.95,54.216.57.21","Access-Control-Allow-Credentials":"true","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","X-XSS-Protection":"1; mode=block","X-Timbermill-Id":"api_request___25b1a8de_cfdc_4c7a_871d_853a857bc973","Date":"Thu, 09 Mar 2023 10:31:06 GMT","Content-Type":"application/json;charset=utf-8"},"message":{"info":"JSON parse error: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token; nested exception is com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize instance of `java.util.ArrayList<java.lang.Integer>` out of VALUE_STRING token\n at [Source: (org.springframework.util.StreamUtils$NonClosingInputStream); line: 1, column: 56] (through reference chain: com.datorama.web.api.dto.ApiUserDto[\"permissionSetIds\"])","msg":"Invalid Request.","title":"Validation Error","validationError":"INVALID_REQUEST","throwable":null},"statusCode":400,"description":null,"status":"Failed"}}
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - accountResponseMap: null
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - taskResult: false
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - isEntitlementOnly: false
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService - taskResult:: false
2023-03-09/10:31:06.514 [{}] [quartzScheduler_Worker-6] ERROR rest.RestProvisioningService - Error while creating account - email.1000541143@pmi.dev removing tasks from the list
2023-03-09/10:31:06.515 [{}] [quartzScheduler_Worker-6] DEBUG services.ArsTaskService - Inside updateProvisioningTries..
2023-03-09/10:31:06.528 [{}] [quartzScheduler_Worker-6] DEBUG services.ArsTaskService - Entering provisionAccesstoAccountSaviynt
2023-03-09/10:31:06.528 [{}] [quartzScheduler_Worker-6] DEBUG services.ArsTaskService - {email.1000541143@pmi.dev=[]}

 

++++++++++++++++++++++++++++++++++++++++

 

Thanks,

Sankar.

Sankar
New Contributor
New Contributor

Hi All,

Can someone help me on this.

Thanks,

sankar

SB
Saviynt Employee
Saviynt Employee

Can you update your JSON to only pass the attributes that you passed in the postman and check. I can see that from Saviynt you are sending extra attributes as well. Alternatively also try to pass these attributes with same values in postman and see if it works.

permissionSetIds:1152945,
sendWelcomeEmail:null, 
manageAccountUsers:false,


Regards,
Sahil

Can you try below

"httpParams": "{\"email\": \"${user.email}\",\"name\":\"\",\"accountId\":\"1110602\",\"firstName\":\"${user.firstname}\",\"lastName\":\"${user.lastname}\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}",

 


Regards,
Saathvik
If this reply answered your question, please Accept As Solution and give Kudos to help others facing similar issue.

Sankar
New Contributor
New Contributor

Hi All,

I tried with the attributes which are used in postman. Even though it is not working. PLease find the logs below.

 

2023-03-13/18:06:50.587 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - Calling Webservice Url - https://xxx-xx.xxxxxxx.com/v1/users with httpParams - [email:email.xxxxxx@xxx.dev, name:, accountId:1110602, firstName:xxxxxx, lastName:xxxx, role:ACCOUNT_VIEWER, uiTheme:BLACK_THEME, active:true]
2023-03-13/18:06:50.587 [{}] [quartzScheduler_Worker-7] DEBUG services.HttpClientUtilityService - isFipsEnabled = false
2023-03-13/18:06:50.587 [{}] [quartzScheduler_Worker-7] DEBUG services.HttpClientUtilityService - getHttpClient - sslParams : null
2023-03-13/18:06:50.587 [{}] [quartzScheduler_Worker-7] DEBUG services.HttpClientUtilityService - getHttpClient - proxyParams : null
2023-03-13/18:06:50.587 [{}] [quartzScheduler_Worker-7] DEBUG services.HttpClientUtilityService - getHttpClient - sslSocketFactory : null
2023-03-13/18:06:50.593 [{}] [quartzScheduler_Worker-7] DEBUG services.HttpClientUtilityService - getHttpClient - HttpClientBuilder.create().build() called.
2023-03-13/18:06:50.757 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestUtilService - Got showLogs = true
2023-03-13/18:06:50.760 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - Got Webservice API Response: [headers:[Content-Type: application/json;charset=utf-8, Cache-Control: no-cache, no-store, must-revalidate, Expires: Thu, 01 Jan 1970 00:00:00 GMT, X-Timbermill-Id: api_request___98dd1f71_eadc_484c_bf68_155ef22794c3, Access-Control-Allow-Credentials: true, X-XSS-Protection: 1; mode=block, Strict-Transport-Security: max-age=15724800; includeSubDomains, Client-Real-IP: 2.16.167.189, Client-Real-IP: 54.216.57.21, Date: Mon, 13 Mar 2023 18:06:50 GMT, X-Cache: TCP_MISS from a2-16-167-189.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-), Connection: close], responseText:"Missing/Unknown/Expired token. /v1/users", cookies:[], statusCode:401]
2023-03-13/18:06:50.760 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - pullObjectsByRest - responseStatusCode ::401
2023-03-13/18:06:50.780 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - Exception in converting responseText to Map
2023-03-13/18:06:50.780 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - Entered getResponseHeaders method
2023-03-13/18:06:50.783 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - responseError : null
2023-03-13/18:06:50.783 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - isAuthError: false
2023-03-13/18:06:50.783 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - pullObjectsByRest - responseMap.size : 0
2023-03-13/18:06:50.783 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - pullObjectsByRest - objectList.size : 1
2023-03-13/18:06:50.783 [{}] [quartzScheduler_Worker-7] ERROR rest.RestProvisioningService - Call response: {"responseMessage":"\"Missing/Unknown/Expired token. /v1/users\""}
2023-03-13/18:06:50.795 [{}] [quartzScheduler_Worker-7] ERROR rest.RestProvisioningService - callResponseMap: [responseMessage:"Missing/Unknown/Expired token. /v1/users"]
2023-03-13/18:06:50.795 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - showResponse: null
2023-03-13/18:06:50.796 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - doBreak: false
2023-03-13/18:06:50.814 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - response: [call1:[headers:[X-Cache:TCP_MISS from a2-16-167-189.deploy.akamaitechnologies.com (AkamaiGHost/11.0.0-46340752) (-), Strict-Transport-Security:max-age=15724800; includeSubDomains, Cache-Control:no-cache, no-store, must-revalidate, Client-Real-IP:2.16.167.189,54.216.57.21, Access-Control-Allow-Credentials:true, Connection:close, Expires:Thu, 01 Jan 1970 00:00:00 GMT, X-XSS-Protection:1; mode=block, X-Timbermill-Id:api_request___98dd1f71_eadc_484c_bf68_155ef22794c3, Date:Mon, 13 Mar 2023 18:06:50 GMT, Content-Type:application/json;charset=utf-8], message:[responseMessage:"Missing/Unknown/Expired token. /v1/users"], statusCode:401, description:null, status:Failed]]
2023-03-13/18:06:50.814 [{}] [quartzScheduler_Worker-7] DEBUG rest.RestProvisioningService - Response size: 1

 

Also find the Json I used for create account.

 

{
"accountIdPath": "call1.message.email",
"dateFormat": "yyyy-MM-dd'T'HH:mm:ssXXX",
"responseColsToPropsMap": {
"name": "call1.message.email~#~char"
},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "https://xxx-xx.xxxxxxx.com/v1/users",
"httpMethod": "POST",
"httpParams": "{\"email\":\"${user.email}\",\"name\":\"\",\"accountId\":\"1110602\",\"firstName\":\"${user.firstname}\",\"lastName\":\"${user.lastname}\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}",
"httpHeaders": {
"content-Type": "application/json",
"Accept": "application/json",
"Authorization": "dato-api-8609b822-472e-49c0-bde5-79c2ab44378f"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,201
]
}
}
]
}

 

Thanks,

Sankar.

 

SB
Saviynt Employee
Saviynt Employee

Based on the error in the above logs, it appears the issue is now occurring due to an invalid token value. Can you check your connection json once.

2023-03-13/18:06:50.783 [{}] [quartzScheduler_Worker-7] ERROR rest.RestProvisioningService - Call response: {"responseMessage":"\"Missing/Unknown/Expired token. /v1/users\""}


Regards,
Sahil

Sankar
New Contributor
New Contributor

Hi Sahil,

The same Create account Json is worked, when we imported the groups from application to saviynt.

The below connection Json is corrected by saviynt person through this ticket.

https://saviynt.freshdesk.com/support/tickets/1595717

++++++++++++++++++++++++++++++++++++++++++++++

Connection Json:

{
"authentications": {
"userAuth": {
"authType": "oauth2",
"url": "https://xxx-xx.xxxxxxxx.com/v1/accounts/1110602/permission-sets",
"httpMethod": "POST",
"httpParams": {},
"httpHeaders": {
"contentType": "application/x-www-form-urlencoded"
},
"httpContentType": "application/x-www-form-urlencoded",
"expiryError": "ExpiredAuthenticationToken",
"authError": [
"InvalidAuthenticationToken",
"AuthenticationFailed",
"FAILURE",
"INVALID_SESSION_ID"
],
"timeOutError": "Read timed out",
"errorPath": "errors.type",
"maxRefreshTryCount": 5,
"tokenResponsePath": "sessionId",
"tokenType": "Bearer",
"accessToken": "Bearer XXXXXXXXXXXXXXXXXXXXXXX"
}
}
}

++++++++++++++++++++++++++++++++++++

 

Thanks,
Sankar.

Sankar
New Contributor
New Contributor

HI All,

Still My issue is not resolved. Can some one help on this?

Please find the current error I am getting.

+++++++++++++++++++++++++

{"auditDetails":{"call1":[{"headers":{"X-Frame-Options":"DENY","X-Cache":"TCP_MISS from a2-19-176-31.deploy.akamaitechnologies.com (AkamaiGHost/11.0.3-47547230) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.31,54.216.57.21","X-Content-Type-Options":"nosniff","WWW-Authenticate":"Bearer error=\"invalid_token\", error_description=\"An error occurred while attempting to decode the Jwt: Invalid JWT serialization: Missing dot delimiter(s)\", error_uri=\"https://xxxx.ixxx.org/html/rfc6750#section-3.1\"","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","Content-Length":"0","X-XSS-Protection":"1; mode=block","Date":"Tue, 25 Apr 2023 11:48:30 GMT"},"message":"","statusCode":401,"description":null,"status":"Failed"},{"headers":{"X-Frame-Options":"DENY","X-Cache":"TCP_MISS from a2-19-176-31.deploy.akamaitechnologies.com (AkamaiGHost/11.0.3-47547230) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.31,54.216.57.21","X-Content-Type-Options":"nosniff","WWW-Authenticate":"Bearer error=\"invalid_token\", error_description=\"An error occurred while attempting to decode the Jwt: Invalid JWT serialization: Missing dot delimiter(s)\", error_uri=\"https://xxx.xxxx.org/html/rfc6750#section-3.1\"","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","Content-Length":"0","X-XSS-Protection":"1; mode=block","Date":"Tue, 25 Apr 2023 11:55:56 GMT"},"message":"","statusCode":401,"description":null,"status":"Failed"}]},"call1":{"headers":{"X-Frame-Options":"DENY","X-Cache":"TCP_MISS from a2-19-176-93.deploy.akamaitechnologies.com (AkamaiGHost/11.0.3-47547230) (-)","Strict-Transport-Security":"max-age=15724800; includeSubDomains","Cache-Control":"no-cache, no-store, must-revalidate","Client-Real-IP":"2.19.176.93,54.216.57.21","X-Content-Type-Options":"nosniff","WWW-Authenticate":"Bearer error=\"invalid_token\", error_description=\"An error occurred while attempting to decode the Jwt: Invalid JWT serialization: Missing dot delimiter(s)\", error_uri=\"https://xxxx.xxxx.org/html/rfc6750#section-3.1\"","Connection":"close","Expires":"Thu, 01 Jan 1970 00:00:00 GMT","Content-Length":"0","X-XSS-Protection":"1; mode=block","Date":"Tue, 25 Apr 2023 11:56:51 GMT"},"message":"","statusCode":401,"description":null,"status":"Failed"}}
++++++++++++++++++++++++++++++++++++
 
Also find the connection Json Which I used.
 
+++++++++++++++++++++++++++++++++++
Connection Json:
{"authentications": {
"userAuth": {
"authType": "oauth2",
"httpHeaders": {
"contentType": "application/x-www-form-urlencoded"
},
"authError": [
"InvalidAuthenticationToken",
"User Not Authenticated"
],
"url": "https://xxx-xx.xxxxxxx.com/oauth2/token",
"httpMethod": "POST",
"httpContentType": "application/x-www-form-urlencoded",
"errorPath": "error.message",
"maxRefreshTryCount": 5,
"tokenResponsePath": "sessionId",
"tokenType": "Bearer",
"accessToken": "Bearer dato-api-8609b822-472e-49c0-bde5-79c2ab44378f",
"retryFailureStatusCode": []
}
}
}
+++++++++++++++++++++++++++++++++++
 
Please check and reply ASAP.  Thanks in advance.
 
Thanks,
Sankar

SB
Saviynt Employee
Saviynt Employee

I see in the Create account you share before, you are passing a static token value. Can you check and verify if you are able to use the same in postman to make the call

Authorization": "dato-api-8609b822-472e-49c0-bde5-79c2ab44378f"


Regards,
Sahil

Sankar
New Contributor
New Contributor

Hi Sahil,

Yes, I can able to create users from Postman to application. I used API token in authorization.

Same I trying from saviynt, but it is not working.

Thanks,

Sankar.

Sankar
New Contributor
New Contributor

Hi All,

Now This what I am passing in Postman and create account Json. From Postman I can able to create it but from Saviynt The task is getting completed without any error in UI and the account is not got created in application side.

++++++++++++++++++++++++++++++++++++++=
Post Man :

{
"email": "Testuser12@gmail.com",
"name": "",
"accountId": 1110602,
"firstName": "Test",
"lastName": "user12",
"role": "ACCOUNT_VIEWER",
"uiTheme": "BLACK_THEME",
"active": "true"
}

CreateAccountJSON From Saviynt :

{
"accountIdPath": "call1.message.email",
"dateFormat": "yyyy-MM-dd'T'HH:mm:ssXXX",
"responseColsToPropsMap": {
"name": "call1.message.email~#~char"
},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "https://xxx-xx.xxxxxxx.com/v1/users",
"httpMethod": "POST",
"httpParams": "{\"email\":\"${user.email}\",\"name\":\"\",\"accountId\":\"1110602\",\"firstName\":\"${user.firstname}\",\"lastName\":\"${user.lastname}\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}",
"httpHeaders": {
"content-Type": "application/json",
"Accept": "application/json",
"Authorization": "dato-api-8609b822-472e-49c0-bde5-79c2ab44378f"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,201
]
}
}
]
}
++++++++++++++++++++++++++++++++++++++=

 

Please find the Logs:

2023-04-27/13:04:28.031 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - createAccountJSON: [accountIdPath:call1.message.email, dateFormat:yyyy-MM-dd'T'HH:mm:ssXXX, responseColsToPropsMap:[name:call1.message.email~#~char], call:[[name:call1, connection:userAuth, url:https://xxx-xx.xxxxxxx.com/v1/users, httpMethod:POST, httpParams:{"email":"${user.email}","name":"","accountId":"1110602","firstName":"${user.firstname}","lastName":"${user.lastname}","role":"ACCOUNT_VIEWER","uiTheme":"BLACK_THEME","active":"true"}, httpHeaders:[content-Type:application/json, Accept:application/json, Authorization:dato-api-8609b822-472e-49c0-bde5-79c2ab44378f], httpContentType:application/json, successResponses:[statusCode:[200, 201]]]]]
2023-04-27/13:04:28.031 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - configJSON: [showLogs:true]
2023-04-27/13:04:28.032 [{}] [quartzScheduler_Worker-3] ERROR util.JDBCExceptionReporter - Duplicate entry '4876691-4876567' for key 'e2aeunique'
2023-04-27/13:04:28.033 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - email: xxxxx.xxxxxxxxxx@xxxxx.xxxxxxxx.com
2023-04-27/13:04:28.033 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - Calling createNewUser
2023-04-27/13:04:28.033 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - arsTasks.provisioningComments null
2023-04-27/13:04:28.034 [{}] [https-jsse-nio-443-exec-39] DEBUG workflow.WorkflowmanagementController - Fetching files for download
2023-04-27/13:04:28.034 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - arsTasks?.requestAccessKey: com.saviynt.ecm.workflow.Request_Access : 56145
2023-04-27/13:04:28.036 [{}] [quartzScheduler_Worker-3] DEBUG provisoning.SalesForceProvisioningService - Exception in ent2 mapping with permissionSet and system permission:
org.springframework.dao.DataIntegrityViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]; SQL [insert into ENTITLEMENTS2 (ASSIGNMENTFROMPARENT, CONDITIONTEXT1, CONDITIONTEXT2, CONDITIONTEXT3, CONDITIONTEXT4, CONDITIONTEXT5, ENTITLEMENT2UID, ENTITLEMENT_VALUE1KEY, ENTITLEMENT_VALUE2KEY, JOB_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36_closure200.doCall(SalesForceProvisioningService.groovy:2516)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:814)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:714)
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36.doCall(SalesForceProvisioningService.groovy:2507)
at com.saviynt.provisoning.SalesForceProvisioningService.getAllPermissionSet(SalesForceProvisioningService.groovy:2485)
at com.saviynt.provisoning.SalesForceProvisioningService.importAllAccess(SalesForceProvisioningService.groovy:793)
at com.saviynt.provisoning.SalesForceProvisioningService.doImport(SalesForceProvisioningService.groovy:157)
at com.saviynt.ecm.integration.ExternalConnectionCallService.invokeExternalMethod(ExternalConnectionCallService.groovy:213)
at ApplicationDataImportJob.execute(ApplicationDataImportJob.groovy:206)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
... 11 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '4876691-4876567' for key 'e2aeunique'
at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)

 

Thanks,

Sankar

SB
Saviynt Employee
Saviynt Employee

Can you check the logs for below string and see the error message you are receiving.

Got Webservice API Response


Regards,
Sahil

Sankar
New Contributor
New Contributor

Hi Shail,

I have searched with that keyword in logs, but i didn't anything. Also Please find the logs from the calling side.

 

2023-04-27/13:04:28.033 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - Calling createNewUser
2023-04-27/13:04:28.033 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - arsTasks.provisioningComments null
2023-04-27/13:04:28.034 [{}] [https-jsse-nio-443-exec-39] DEBUG workflow.WorkflowmanagementController - Fetching files for download
2023-04-27/13:04:28.034 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - arsTasks?.requestAccessKey: com.saviynt.ecm.workflow.Request_Access : 56145
2023-04-27/13:04:28.036 [{}] [quartzScheduler_Worker-3] DEBUG provisoning.SalesForceProvisioningService - Exception in ent2 mapping with permissionSet and system permission:
org.springframework.dao.DataIntegrityViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]; SQL [insert into ENTITLEMENTS2 (ASSIGNMENTFROMPARENT, CONDITIONTEXT1, CONDITIONTEXT2, CONDITIONTEXT3, CONDITIONTEXT4, CONDITIONTEXT5, ENTITLEMENT2UID, ENTITLEMENT_VALUE1KEY, ENTITLEMENT_VALUE2KEY, JOB_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36_closure200.doCall(SalesForceProvisioningService.groovy:2516)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:814)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:714)
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36.doCall(SalesForceProvisioningService.groovy:2507)
at com.saviynt.provisoning.SalesForceProvisioningService.getAllPermissionSet(SalesForceProvisioningService.groovy:2485)
at com.saviynt.provisoning.SalesForceProvisioningService.importAllAccess(SalesForceProvisioningService.groovy:793)
at com.saviynt.provisoning.SalesForceProvisioningService.doImport(SalesForceProvisioningService.groovy:157)
at com.saviynt.ecm.integration.ExternalConnectionCallService.invokeExternalMethod(ExternalConnectionCallService.groovy:213)
at ApplicationDataImportJob.execute(ApplicationDataImportJob.groovy:206)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
... 11 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '4876691-4876567' for key 'e2aeunique'
at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)
at com.mysql.jdbc.Util.getInstance(Util.java:383)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2049)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2034)
... 11 more
2023-04-27/13:04:28.036 [{}] [https-jsse-nio-443-exec-39] DEBUG workflow.WorkflowmanagementController - Fetching files for download completed
2023-04-27/13:04:28.040 [{}] [quartzScheduler_Worker-3] ERROR util.JDBCExceptionReporter - Duplicate entry '4876691-4876567' for key 'e2aeunique'
2023-04-27/13:04:28.044 [{}] [quartzScheduler_Worker-3] DEBUG provisoning.SalesForceProvisioningService - Exception in ent2 mapping with permissionSet and system permission:
org.springframework.dao.DataIntegrityViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]; SQL [insert into ENTITLEMENTS2 (ASSIGNMENTFROMPARENT, CONDITIONTEXT1, CONDITIONTEXT2, CONDITIONTEXT3, CONDITIONTEXT4, CONDITIONTEXT5, ENTITLEMENT2UID, ENTITLEMENT_VALUE1KEY, ENTITLEMENT_VALUE2KEY, JOB_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36_closure200.doCall(SalesForceProvisioningService.groovy:2516)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:814)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:714)
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36.doCall(SalesForceProvisioningService.groovy:2507)
at com.saviynt.provisoning.SalesForceProvisioningService.getAllPermissionSet(SalesForceProvisioningService.groovy:2485)
at com.saviynt.provisoning.SalesForceProvisioningService.importAllAccess(SalesForceProvisioningService.groovy:793)
at com.saviynt.provisoning.SalesForceProvisioningService.doImport(SalesForceProvisioningService.groovy:157)
at com.saviynt.ecm.integration.ExternalConnectionCallService.invokeExternalMethod(ExternalConnectionCallService.groovy:213)
at ApplicationDataImportJob.execute(ApplicationDataImportJob.groovy:206)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
... 11 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '4876691-4876567' for key 'e2aeunique'
at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)
at com.mysql.jdbc.Util.getInstance(Util.java:383)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2049)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2034)
... 11 more
2023-04-27/13:04:28.049 [{}] [quartzScheduler_Worker-3] ERROR util.JDBCExceptionReporter - Duplicate entry '4876691-4876567' for key 'e2aeunique'
2023-04-27/13:04:28.053 [{}] [quartzScheduler_Worker-3] DEBUG provisoning.SalesForceProvisioningService - Exception in ent2 mapping with permissionSet and system permission:
org.springframework.dao.DataIntegrityViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]; SQL [insert into ENTITLEMENTS2 (ASSIGNMENTFROMPARENT, CONDITIONTEXT1, CONDITIONTEXT2, CONDITIONTEXT3, CONDITIONTEXT4, CONDITIONTEXT5, ENTITLEMENT2UID, ENTITLEMENT_VALUE1KEY, ENTITLEMENT_VALUE2KEY, JOB_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36_closure200.doCall(SalesForceProvisioningService.groovy:2516)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:814)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:714)
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36.doCall(SalesForceProvisioningService.groovy:2507)
at com.saviynt.provisoning.SalesForceProvisioningService.getAllPermissionSet(SalesForceProvisioningService.groovy:2485)
at com.saviynt.provisoning.SalesForceProvisioningService.importAllAccess(SalesForceProvisioningService.groovy:793)
at com.saviynt.provisoning.SalesForceProvisioningService.doImport(SalesForceProvisioningService.groovy:157)
at com.saviynt.ecm.integration.ExternalConnectionCallService.invokeExternalMethod(ExternalConnectionCallService.groovy:213)
at ApplicationDataImportJob.execute(ApplicationDataImportJob.groovy:206)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
... 11 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '4876691-4876567' for key 'e2aeunique'
at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)
at com.mysql.jdbc.Util.getInstance(Util.java:383)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2049)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2034)
... 11 more
2023-04-27/13:04:28.057 [{}] [quartzScheduler_Worker-3] ERROR util.JDBCExceptionReporter - Duplicate entry '4876691-4876567' for key 'e2aeunique'
2023-04-27/13:04:28.060 [{}] [quartzScheduler_Worker-3] DEBUG provisoning.SalesForceProvisioningService - Exception in ent2 mapping with permissionSet and system permission:
org.springframework.dao.DataIntegrityViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]; SQL [insert into ENTITLEMENTS2 (ASSIGNMENTFROMPARENT, CONDITIONTEXT1, CONDITIONTEXT2, CONDITIONTEXT3, CONDITIONTEXT4, CONDITIONTEXT5, ENTITLEMENT2UID, ENTITLEMENT_VALUE1KEY, ENTITLEMENT_VALUE2KEY, JOB_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36_closure200.doCall(SalesForceProvisioningService.groovy:2516)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:814)
at org.grails.datastore.gorm.GormStaticApi.withTransaction(GormStaticApi.groovy:714)
at com.saviynt.provisoning.SalesForceProvisioningService$_getAllPermissionSet_closure36.doCall(SalesForceProvisioningService.groovy:2507)
at com.saviynt.provisoning.SalesForceProvisioningService.getAllPermissionSet(SalesForceProvisioningService.groovy:2485)
at com.saviynt.provisoning.SalesForceProvisioningService.importAllAccess(SalesForceProvisioningService.groovy:793)
at com.saviynt.provisoning.SalesForceProvisioningService.doImport(SalesForceProvisioningService.groovy:157)
at com.saviynt.ecm.integration.ExternalConnectionCallService.invokeExternalMethod(ExternalConnectionCallService.groovy:213)
at ApplicationDataImportJob.execute(ApplicationDataImportJob.groovy:206)
at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]
... 11 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '4876691-4876567' for key 'e2aeunique'
at com.mysql.jdbc.Util.handleNewInstance(Util.java:400)
at com.mysql.jdbc.Util.getInstance(Util.java:383)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:973)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2447)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2594)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2545)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1901)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2113)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2049)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2034)
... 11 more
2023-04-27/13:04:28.061 [{}] [quartzScheduler_Worker-8] DEBUG services.SaviyntCommonUtilityService - Enter useDefaultAttrValInRequest
2023-04-27/13:04:28.062 [{}] [quartzScheduler_Worker-8] DEBUG services.SaviyntCommonUtilityService - USE_DEFAULT_ATTR_VALS_IN_REQUEST =
2023-04-27/13:04:28.062 [{}] [quartzScheduler_Worker-8] DEBUG services.SaviyntCommonUtilityService - usedefaultval = false
2023-04-27/13:04:28.062 [{}] [quartzScheduler_Worker-8] DEBUG services.SaviyntCommonUtilityService - Exit useDefaultAttrValInRequest
2023-04-27/13:04:28.062 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - Validating Password Policy and setting defaults...
2023-04-27/13:04:28.062 [{}] [quartzScheduler_Worker-8] DEBUG rest.RestProvisioningService - Total Call: 1
2023-04-27/13:04:28.064 [{}] [quartzScheduler_Worker-3] ERROR util.JDBCExceptionReporter - Duplicate entry '4876691-4876567' for key 'e2aeunique'
2023-04-27/13:04:28.068 [{}] [quartzScheduler_Worker-3] DEBUG provisoning.SalesForceProvisioningService - Exception in ent2 mapping with permissionSet and system permission:
org.springframework.dao.DataIntegrityViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]; SQL [insert into ENTITLEMENTS2 (ASSIGNMENTFROMPARENT, CONDITIONTEXT1, CONDITIONTEXT2, CONDITIONTEXT3, CONDITIONTEXT4, CONDITIONTEXT5, ENTITLEMENT2UID, ENTITLEMENT_VALUE1KEY, ENTITLEMENT_VALUE2KEY, JOB_ID) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [com.saviynt.ecm.identitywarehouse.domain.Entitlements2]

 

If you need anything please let me know.

Thanks,

sankar.

SB
Saviynt Employee
Saviynt Employee

These logs are not helpful. Can you create 1 task and run the prov job for only that task and share the complete job log.


Regards,
Sahil

Sankar
New Contributor
New Contributor

Hi Sahil,

I created a task for Vinitia user and Task ID - 1302197.

Please find the completed log file.

 

Thanks,

Sankar.

Error 401 - You have issue with connection Json

An error occurred while attempting to decode the Jwt: Invalid JWT serialization: Missing dot delimiter(s)

{
  "call1": {
    "headers": {
      "X-Frame-Options": "DENY",
      "X-Cache": "TCP_MISS from a2-16-167-36.deploy.akamaitechnologies.com (AkamaiGHost/11.0.3-47547230) (-)",
      "Strict-Transport-Security": "max-age=15724800; includeSubDomains",
      "Cache-Control": "no-cache, no-store, must-revalidate",
      "Client-Real-IP": "2.16.167.36,54.216.57.21",
      "X-Content-Type-Options": "nosniff",
      "WWW-Authenticate": "Bearer error=\"invalid_token\", error_description=\"An error occurred while attempting to decode the Jwt: Invalid JWT serialization: Missing dot delimiter(s)\", error_uri=\"https://tools.ietf.org/html/rfc6750#section-3.1\"",
      "Connection": "close",
      "Expires": "Thu, 01 Jan 1970 00:00:00 GMT",
      "Content-Length": "0",
      "X-XSS-Protection": "1; mode=block",
      "Date": "Wed, 26 Apr 2023 18:43:14 GMT"
    },
    "message": "",
    "statusCode": 401,
    "description": null,
    "status": "Failed"
  }
}

Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Generate token from Postman and try out create account json


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Sankar
New Contributor
New Contributor

Hi Rushvika,

We don't have option to generate a token from Postman. We will get it fro Application side fromUI. It is static token.

 

Please find the Connection and Create account Json what I used .

Connection JSON:

{"authentications": {
"userAuth": {
"authType": "oauth2",
"httpHeaders": {
"contentType": "application/x-www-form-urlencoded",
"Authorization": "*masked*"
},
"authError": [
"InvalidAuthenticationToken",
"User Not Authenticated"
],
"url": "https://*masked*.com//v1/users",
"httpMethod": "POST",
"httpContentType": "application/x-www-form-urlencoded",
"errorPath": "error.message",
"maxRefreshTryCount": 5,
"tokenResponsePath": "sessionId",
"retryFailureStatusCode": []
}
}
}

CreateAccont JSON:

 

{
"accountIdPath": "call1.message.email",
"dateFormat": "yyyy-MM-dd'T'HH:mm:ssXXX",
"responseColsToPropsMap": {
"name": "call1.message.email~#~char"
},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "https://*masked*.com/v1/users",
"httpMethod": "POST",
"httpParams": "{\"email\":\"${user.email}\",\"name\":\"\",\"accountId\":\"1110602\",\"firstName\":\"${user.firstname}\",\"lastName\":\"${user.lastname}\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}",
"httpHeaders": {
"content-Type": "application/json",
"Accept": "application/json",
"Authorization": "*masked*"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,201
]
}
}
]
}

 

Now Task are getting completed with out Error in UI, but the user is not created in Application end.

Sankar_0-1683049270572.png

 

 

Thanks,

Sankar.

[This post has been edited by a Moderator to remove sensitive information.]

Please remove all confidential info


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

harcode user parameters in create acc json


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Sankar
New Contributor
New Contributor

Hi Rushikesh,

Harcode means, you are asking me to save all attributes in CreateAccount Json and try it out.

 

Thanks,

Sankar.

yes


Regards,
Rushikesh Vartak
If you find the response useful, kindly consider selecting Accept As Solution and clicking on the kudos button.

Hi Rusikesh,

I have Harcode the value for user params. Please find the Attached logs.

Create Account Json:

{
"accountIdPath": "call1.message.email",
"dateFormat": "yyyy-MM-dd'T'HH:mm:ssXXX",
"responseColsToPropsMap": {
"name": "call1.message.email~#~char"
},
"call": [
{
"name": "call1",
"connection": "userAuth",
"url": "Masked",
"httpMethod": "POST",
"httpParams": "{\"email\":\"xxxxxxx@xxxxx.xxxxx.com\",\"name\":\"\",\"accountId\":\"1110602\",\"firstName\":\"xxxxxx\",\"lastName\":\"xx\",\"role\":\"ACCOUNT_VIEWER\",\"uiTheme\":\"BLACK_THEME\",\"active\":\"true\"}",
"httpHeaders": {
"content-Type": "application/json",
"Accept": "application/json",
"Authorization": "Masked"
},
"httpContentType": "application/json",
"successResponses": {
"statusCode": [
200,201
]
}
}
]
}

 

Task ID: 1302205

Sankar_0-1683088197426.png

 

Thanks,

Sankar.

Sankar
New Contributor
New Contributor

Hi Team,

Could some one assist me on this. I Completely got stuck in Create User.

If any one can Join with us for trouble shooting the issue. Really It will be helpful.

Thanks,
Sankar.

SB
Saviynt Employee
Saviynt Employee

In your json you need to pass AccountId value without quotes. In your postman screenshot I can see there are no quotes for this field.

\"accountId\":1110602

Since this is forms, setting up a meeting will not be possible. You will need to reach out to Support over FD ticket for a meeting.


Regards,
Sahil