Announcing the Saviynt Knowledge Exchange unifying the Saviynt forums, documentation, training,
and more in a single search tool across platforms. Read the announcement here.

Conditional provisioning in REST connector

UdaySai
New Contributor
New Contributor

If - else is based on dynamic attribute selection and it is mapped to cp16. 
Below is the json and error message when configured for update account.

 

{
    "accountIdPath": "call1.message.id",
    "responseColsToPropsMap": {
        "name": "call1.message.email~#~char"
    },
    "call": [{
        "name": "call1",
        "connection": "userAuth",
        "url": "xxx",
        "httpMethod": "POST",
        "httpParams": "${requestAccessAttributes.get('dynamicattribute')=='Yes' ? '{\"user_name\": \"${user.firstname}\",\"first_name\": \"${user.firstname}\",\"last_name\": \"${user.lastname}\",\"email\": \"${user.email}\"}' : '{\"user_name\": \"${user.firstname}\",\"first_name\": \"${user.firstname}\"}'}",
        "httpHeaders": {
            "Authorization": "${access_token}",
            "Accept": "application/json"
        },
        "httpContentType": "application/json",
        "successResponses": {
            "statusCode": [
                200
            ]
        }
    }]
}

Getting error as below-

 

2023-05-10 01:00:48,345 [quartzScheduler_Worker-3] ERROR rest.RestProvisioningService  - Exception in creating original http params:com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: ${requestAccessAttributes.get('AccesstoCLM')=='Yes' ? '{"user_name": "${user.firstname}","first_name": "${user.firstname}","last_name": "${user.lastname}","email": "${user.email}"}' : '{"user_name": "${user.firstname}","first_name": "${user.firstname}"}'}; line: 1, column: 2]

15 REPLIES 15

SB
Saviynt Employee
Saviynt Employee

Below is an example of the format that you can use. You can also refer to the REST Connector guide (Developers Handbook section) for same.

"${(requestAccessAttributes?.get('dynamicattribute').equals('Yes'))?'{\"UserId\": \"'+response.call1.message.ResponseMessage+'\", \"SecurityGroup\": \"'+requestAccessAttributes.Trader+'\"}':''}"\

https://docs.saviyntcloud.com/bundle/REST-v23x/page/Content/Developers-Handbook.htm

 


Regards,
Sahil

UdaySai
New Contributor
New Contributor

2023-05-12 01:11:04,879 [quartzScheduler_Worker-3] ERROR rest.RestProvisioningService  - Exception in creating original http params:com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: ${(requestAccessAttributes?.get('AccesstoCLM')equals('Yes'))?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'"}':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'"}'}; line: 1, column: 2]
2023-05-12 01:11:04,922 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - connection: userAuth
2023-05-12 01:11:04,965 [quartzScheduler_Worker-3] ERROR rest.RestProvisioningService  - Error in createNewUser:: 
com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: ${(requestAccessAttributes?.get('AccesstoCLM')equals('Yes'))?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'"}':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'"}'}; line: 1, column: 2]

 

Json used - {
    "accountIdPath": "call1.message.newUsers[0].userId",
    "responseColsToPropsMap": {
        "customproperty1": "call1.message.newUsers.email~#~char"
    },
    "call": [{
        "name": "call1",
        "connection": "userAuth",
        "url": "xxx",
        "httpMethod": "POST",
        "httpParams": "${(requestAccessAttributes?.get('AccesstoCLM')equals('Yes'))?'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\"}':'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\"}'}",
        "httpHeaders": {
            "Authorization": "${access_token}",
            "Accept": "application/json"
        },
        "httpContentType": "application/json",
        "successResponses": {
            "statusCode": [
                200
            ]
        }
    }]
}

SB
Saviynt Employee
Saviynt Employee

Can you update ConfigJSON param in the REST connection with value {"showLogs":true} if not done already. Run the job again and search for below string in the logs. You should be able to see if the attribute values are being passed in the required format.

Calling Webservice Url


Regards,
Sahil

UdaySai
New Contributor
New Contributor

2023-05-12 01:11:04,817 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - Query New Account New Access Tasks= 
                select rr from ArsTasks rr where
                rr.accountKey is null and (rr.endDate = null or rr.endDate > :ed) and rr.tasktype in (3 , 1, 23 )
                and rr.id in (1204475)

2023-05-12 01:11:04,828 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - Found List of Tasks[com.saviynt.ecm.task.ArsTasks : 1204475]
2023-05-12 01:11:04,828 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - Validating tasks for Securitysystem - FD
2023-05-12 01:11:04,828 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - new account , accountName = Paolo.Laurent@abc.org , taskType = 3
2023-05-12 01:11:04,832 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Calling rest createAccount with Sec System - FD and tasklist - [Paolo.Laurent@abc.org:[com.saviynt.ecm.task.ArsTasks : 1204475]]
2023-05-12 01:11:04,832 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - Entering RestProvisioningService : createAccount
2023-05-12 01:11:04,832 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - initializing Provisioning connection
2023-05-12 01:11:04,837 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - email: Paolo.Laurent@abc.org
2023-05-12 01:11:04,837 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - Calling createNewUser
2023-05-12 01:11:04,837 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - arsTasks.provisioningComments null
2023-05-12 01:11:04,837 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - arsTasks?.requestAccessKey: com.saviynt.ecm.workflow.Request_Access : 84646
2023-05-12 01:11:04,873 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - Enter useDefaultAttrValInRequest
2023-05-12 01:11:04,874 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - USE_DEFAULT_ATTR_VALS_IN_REQUEST = 1
2023-05-12 01:11:04,874 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - config is present
2023-05-12 01:11:04,874 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - usedefaultval = true
2023-05-12 01:11:04,874 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - Exit useDefaultAttrValInRequest
2023-05-12 01:11:04,874 [quartzScheduler_Worker-3] INFO  services.SaviyntCommonUtilityService  - Enter fetchDefaultAttributeValues
2023-05-12 01:11:04,875 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - Sql =  Select epattr from Endpoint_attributes epattr where epattr.endpoints.id = :epid  and epattr.requestType=1 and  epattr.defaultvalue is not null and epattr.defaultvalue <> '' 
2023-05-12 01:11:04,876 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - Endpoint Attrs = [com.saviynt.ecm.identitywarehouse.domain.Endpoint_attributes : 2465, com.saviynt.ecm.identitywarehouse.domain.Endpoint_attributes : 2466, com.saviynt.ecm.identitywarehouse.domain.Endpoint_attributes : 2467, com.saviynt.ecm.identitywarehouse.domain.Endpoint_attributes : 2468, com.saviynt.ecm.identitywarehouse.domain.Endpoint_attributes : 2512, com.saviynt.ecm.identitywarehouse.domain.Endpoint_attributes : 2513]
2023-05-12 01:11:04,878 [quartzScheduler_Worker-3] INFO  services.SaviyntCommonUtilityService  - defaultattrval = [S3 ID:TEJC0005, Department:, Email:Paolo.Laurent@abc.org,Paolo.Laurent@abc.org, Note:This access request form is intended for FITTLE users only, First Name:Paolo,Paolo,Paolo,PAOLO,PAOLO,PAOLO,PAOLO,PAOLO,PAOLO,PAOLO,Paolo,Paolo,Paolo,Paolo,PAOLO,PAOLO,PAOLO,PAOLO,PAOLO,PAOLO,Paolo,Paolo, Last Name:Laurent,LAURENT,LAURENT,Laurent,LAURENT,LAURENT]
2023-05-12 01:11:04,878 [quartzScheduler_Worker-3] INFO  services.SaviyntCommonUtilityService  - Exit fetchDefaultAttributeValues
2023-05-12 01:11:04,878 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - Validating Password Policy and setting defaults...
2023-05-12 01:11:04,878 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - Total Call: 1
2023-05-12 01:11:04,879 [quartzScheduler_Worker-3] ERROR rest.RestProvisioningService  - Exception in creating original http params:com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: ${(requestAccessAttributes?.get('AccesstoCLM')equals('Yes'))?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'"}':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'"}'}; line: 1, column: 2]
2023-05-12 01:11:04,922 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - connection: userAuth
2023-05-12 01:11:04,965 [quartzScheduler_Worker-3] ERROR rest.RestProvisioningService  - Error in createNewUser:: 
com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: ${(requestAccessAttributes?.get('AccesstoCLM')equals('Yes'))?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'"}':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'"}'}; line: 1, column: 2]
    at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702)
    at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:558)
    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2839)
    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1903)
    at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:749)
    at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3850)
    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3799)
    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2877)
    at com.saviynt.provisoning.rest.RestProvisioningService.createNewUser(RestProvisioningService.groovy:2712)
    at com.saviynt.provisoning.rest.RestProvisioningService$_createAccount_closure13.doCall(RestProvisioningService.groovy:2144)
    at com.saviynt.provisoning.rest.RestProvisioningService.createAccount(RestProvisioningService.groovy:1966)
    at com.saviynt.ecm.services.ArsTaskService.createAccountTarget(ArsTaskService.groovy:10563)
    at com.saviynt.ecm.services.ArsTaskHelperService$_whenTaskTypeIsThreeNewAccountAccess_closure50.doCall(ArsTaskHelperService.groovy:3002)
    at com.saviynt.ecm.services.ArsTaskHelperService.whenTaskTypeIsThreeNewAccountAccess(ArsTaskHelperService.groovy:2993)
    at com.saviynt.ecm.services.ArsTaskHelperService$_completeAutoProvTasksUpgraded_closure1.doCall(ArsTaskHelperService.groovy:162)
    at com.saviynt.ecm.services.ArsTaskHelperService.completeAutoProvTasksUpgraded(ArsTaskHelperService.groovy:147)
    at MultipleProvisioningJob.execute(MultipleProvisioningJob.groovy:222)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:199)
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')
at [Source: ${(requestAccessAttributes?.get('AccesstoCLM')equals('Yes'))?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'"}':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'"}'}; line: 1, column: 2]
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1702)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:558)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._reportInvalidToken(ReaderBasedJsonParser.java:2839)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:1903)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:749)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3850)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3799)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2877)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.provisoning.rest.RestProvisioningService.createNewUser(RestProvisioningService.groovy:2712)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.provisoning.rest.RestProvisioningService$_createAccount_closure13.doCall(RestProvisioningService.groovy:2144)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.provisoning.rest.RestProvisioningService.createAccount(RestProvisioningService.groovy:1966)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.ecm.services.ArsTaskService.createAccountTarget(ArsTaskService.groovy:10563)
2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.ecm.services.ArsTaskHelperService$_whenTaskTypeIsThreeNewAccountAccess_closure50.doCall(ArsTaskHelperService.groovy:3002)

UdaySai
New Contributor
New Contributor

2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.ecm.services.ArsTaskHelperService.whenTaskTypeIsThreeNewAccountAccess(ArsTaskHelperService.groovy:2993)

2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.ecm.services.ArsTaskHelperService$_completeAutoProvTasksUpgraded_closure1.doCall(ArsTaskHelperService.groovy:162)

2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at com.saviynt.ecm.services.ArsTaskHelperService.completeAutoProvTasksUpgraded(ArsTaskHelperService.groovy:147)

2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at MultipleProvisioningJob.execute(MultipleProvisioningJob.groovy:222)

2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at org.quartz.core.JobRunShell.run(JobRunShell.java:199)

2023-05-12 01:11:04,966 [quartzScheduler_Worker-3] DEBUG println.PrintlnToLogger  - Println :: | Error     at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:546)

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - response: [:]

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - Response size: 0

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - Task Response: null

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - accountId: null

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - Task Response: null

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - accountResponseMap: [:]

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - taskResult: true

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - isEntitlementOnly: false

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG rest.RestProvisioningService  - taskResult:: true

2023-05-12 01:11:04,979 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Inside updateProvisioningTries..

2023-05-12 01:11:04,992 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  -  Entering provisionAccesstoAccountSaviynt

2023-05-12 01:11:04,992 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - {Paolo.Laurent@abc.org=[com.saviynt.ecm.task.ArsTasks : 1204475]}

2023-05-12 01:11:04,992 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - NewAccount

2023-05-12 01:11:04,992 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Processing task 1204475 start

2023-05-12 01:11:04,992 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - completing task = 1204475

2023-05-12 01:11:04,993 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - completing task = 1204475 done

2023-05-12 01:11:05,004 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Account is null creating one

2023-05-12 01:11:05,004 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - null

2023-05-12 01:11:05,005 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - reqAccAttrsEndpointDetail  -[com.saviynt.ecm.workflow.Request_access_attrs : 357966]

2023-05-12 01:11:05,006 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - reqAccAttrs  -[com.saviynt.ecm.workflow.Request_access_attrs : 357965, com.saviynt.ecm.workflow.Request_access_attrs : 357966, com.saviynt.ecm.workflow.Request_access_attrs : 357967, com.saviynt.ecm.workflow.Request_access_attrs : 357968, com.saviynt.ecm.workflow.Request_access_attrs : 357969, com.saviynt.ecm.workflow.Request_access_attrs : 357970, com.saviynt.ecm.workflow.Request_access_attrs : 357971, com.saviynt.ecm.workflow.Request_access_attrs : 357972, com.saviynt.ecm.workflow.Request_access_attrs : 357973, com.saviynt.ecm.workflow.Request_access_attrs : 357974, com.saviynt.ecm.workflow.Request_access_attrs : 357975]

2023-05-12 01:11:05,006 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty16

2023-05-12 01:11:05,007 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty15

2023-05-12 01:11:05,008 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty14

2023-05-12 01:11:05,008 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty13

2023-05-12 01:11:05,009 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty11

2023-05-12 01:11:05,010 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty17

2023-05-12 01:11:05,011 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty12

2023-05-12 01:11:05,012 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty39

2023-05-12 01:11:05,012 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - inside getParsedAttributeValue---customproperty10

UdaySai
New Contributor
New Contributor

2023-05-12 01:11:05,013 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Saving Acc-Paolo.Laurent@abc.org Accountid-Paolo.Laurent@abc.org Endpoint-FD, SystemID=344

2023-05-12 01:11:05,036 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - saved account object[Paolo.Laurent@abc.org Accountid-Paolo.Laurent@abc.org Endpoint-FD, SystemID=344

2023-05-12 01:11:05,039 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - adding entry into user account.. userkey = 80 , accountkey = 3793805

2023-05-12 01:11:05,049 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - existingOrNew= NewAccount, accounts= Paolo.Laurent@abc.org, task= com.saviynt.ecm.task.ArsTasks : 1204475, parenttask= null

2023-05-12 01:11:05,049 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - processing accountkey 3793805 for task 1204475

2023-05-12 01:11:05,055 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - assignedFromRoles : null

2023-05-12 01:11:05,055 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  -  Enter saveSodriskAndAssociations ...........

2023-05-12 01:11:05,056 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  -  Exit saveSodriskAndAssociations........... 

2023-05-12 01:11:05,056 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Processing task 1204475 done

2023-05-12 01:11:05,059 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Final status of task 1204475 - 3

2023-05-12 01:11:05,060 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Config for ARSTASKCOMPNEWPWDcom.saviynt.ecm.utility.domain.EcmConfig : ARSTASKCOMPNEWPWD

2023-05-12 01:11:05,060 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - Task Complete Email Template For New Account Password = null

2023-05-12 01:11:05,060 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - start converting accTasksMap to endpointaccTasksMap

2023-05-12 01:11:05,061 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - finished converting accTasksMap to endpointaccTasksMap

2023-05-12 01:11:05,061 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - Start bindBaseUrlEmailTemplate

2023-05-12 01:11:05,061 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  - baseUrlForEmail value in externalConfig : [:]

2023-05-12 01:11:05,061 [quartzScheduler_Worker-3] DEBUG services.SaviyntCommonUtilityService  -  baseUrlForEmail is missing in the externalConfig file. Please add it !

2023-05-12 01:11:05,062 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - emailTemplates for template type = 1 [:]

2023-05-12 01:11:05,062 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - type: 3

2023-05-12 01:11:05,062 [quartzScheduler_Worker-3] DEBUG services.ArsTaskService  - taskEmailTemplatesList size: 0

2023-05-12 01:11:05,062 [quartzScheduler_Worker-3] DEBUG saviynt.AccountsService  - Inside isServiceAccount

2023-05-12 01:11:05,062 [quartzScheduler_Worker-3] DEBUG saviynt.AccountsService  - isServiceAccount: false

2023-05-12 01:11:05,075 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - In whenTaskTypeIsOneOrTwentythree

2023-05-12 01:11:05,075 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - Query Add Access Tasks= 

            select rr from ArsTasks rr where

            rr.accountKey != null

            and rr.tasktype in( 1,23) and (rr.endDate=null or rr.endDate > :ed)

            and rr.id in (1204475)


2023-05-12 01:11:05,094 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - In whenTaskTypeIsNineUpdateUser

2023-05-12 01:11:05,094 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - Query Update User Tasks= 

                select rr from ArsTasks rr where rr.users is not null and rr.externalConnection is not null

                and rr.tasktype = 9 and (rr.endDate = null or rr.endDate > :ed)

                and rr.id in (1204475)


2023-05-12 01:11:05,103 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - Found List of Update User Tasks[]

2023-05-12 01:11:05,114 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - In whenTaskTypeIsTwo

2023-05-12 01:11:05,114 [quartzScheduler_Worker-3] DEBUG services.ArsTaskHelperService  - Query Remove Access Tasks= 

                select rr from ArsTasks rr where

These are full logs

Hi @UdaySai,

Please try the below httpParams:

 

 

      "httpParams": "${requestAccessAttributes.AccesstoCLM ==('Yes')?'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\"}':'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\"}'}",

 

 

Thank you
Vedanth B.k

UdaySai
New Contributor
New Contributor

It worked, error is seen but provisioning still happens.

2023-05-15 15:55:59,627 [quartzScheduler_Worker-6] ERROR rest.RestProvisioningService  - Exception in creating original http params:com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')

at [Source: ${requestAccessAttributes.AccesstoCLM ==('Yes')?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'","product_permission_profiles": [{"product_id":"f6406c68-225c-4e9b-9894-64152a26fa83","permission_profile_id":"13434853" },{"product_id":"37f013eb-7012-4588-8028-357b39fdbd00","permission_profile_id":"2"}]}':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'"}'}; line: 1, column: 2]

2023-05-15 15:55:59,669 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - connection: userAuth

2023-05-15 15:55:59,799 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - Inside pullObjectsByRest

2023-05-15 15:55:59,799 [quartzScheduler_Worker-6] DEBUG rest.RestUtilService  - Got showLogs = true

2023-05-15 15:55:59,799 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - Calling Webservice Url - xxx with httpParams - [user_name:Lisa, first_name:Lisa, last_name:Gautreau-burgess, email:Lisa.Gautreau-burgess@abc.org, product_permission_profiles:[[product_id:f6406c68-225c-4e9b-9894-64152a26fa83, permission_profile_id:13434853], [product_id:37f013eb-7012-4588-8028-357b39fdbd00, permission_profile_id:2]]]

2023-05-15 15:55:59,799 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - Enter getTimeOutConfig

2023-05-15 15:55:59,801 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - connectionType: REST

2023-05-15 15:55:59,801 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - connectionTimeoutConfig before guardRail validation: [connectionTimeout:10, readTimeout:60, writeTimeout:60, retryWait:2, retryCount:3]

2023-05-15 15:55:59,801 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - Final connectionTimeoutConfig after guardRail validation: [connectionTimeout:10, writeTimeout:60]

2023-05-15 15:55:59,801 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - isFipsEnabled = false

2023-05-15 15:55:59,801 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - getHttpClient - sslParams : null

2023-05-15 15:55:59,801 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - getHttpClient - proxyParams : null

2023-05-15 15:55:59,801 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - getHttpClient - sslSocketFactory : null

2023-05-15 15:55:59,806 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - setting connection timeout to 10 seconds and request timeout to 60 seconds

2023-05-15 15:55:59,807 [quartzScheduler_Worker-6] DEBUG services.HttpClientUtilityService  - getHttpClient - HttpClientBuilder.create().build() called.

2023-05-15 15:56:05,914 [quartzScheduler_Worker-6] DEBUG rest.RestUtilService  - Got showLogs = true

2023-05-15 15:56:05,914 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - Got Webservice API Response: [headers:[Cache-Control: no-cache, Pragma: no-cache, Content-Type: application/json; charset=utf-8, Expires: -1, Server: Microsoft-IIS/10.0, 000e5531-4c7d-448a-9142-0a30670809a1, Date: Mon, 15 May 2023 15:56:05 GMT, Content-Length: 659], responseText:{"id":"185e057b-3cd4-4022-a2a0-cd24d05b5bfa","site_id":1,"user_name":"Lisa","first_name":"Lisa","last_name":"Gautreau-burgess","email":"Lisa.Gautreau-burgess@abc.org","language_culture":"en","accounts":[{"id":"ad9dfa0b-bfa6-4e1c-81b6-8f84a8d2d9d0","site_id":1,"product_permission_profiles":[{"product_id":"f6406c68-225c-4e9b-9894-64152a26fa83","permission_profiles":[{"permission_profile_id":"13434853"}]},{"product_id":"37f013eb-7012-4588-8028-357b39fdbd00","permission_profiles":[{"permission_profile_id":"2"}]}],"ds_groups":[]}]}, cookies:[], statusCode:200]

2023-05-15 15:56:05,914 [quartzScheduler_Worker-6] DEBUG rest.RestUtilService  - pullObjectsByRest - responseStatusCode ::200

2023-05-15 15:56:05,916 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - Entered getResponseHeaders method

2023-05-15 15:56:05,916 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - responseError : null

2023-05-15 15:56:05,916 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - isAuthError: false

2023-05-15 15:56:05,916 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - pullObjectsByRest - responseMap.size : 8

2023-05-15 15:56:05,916 [quartzScheduler_Worker-6] DEBUG rest.RestProvisioningService  - pullObjectsByRest - objectList.size : 1

2023-05-15 15:56:05,920 [quartzScheduler_Worker-6] ERROR rest.RestProvisioningService  - Call response:

But we need to send additional attributes based on dynamic attribute selection and we are getting the same error. Kindly advise.

Complete Json that is needed to be sent-

 

"${requestAccessAttributes.AccesstoCLM ==('Yes')?'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\",\"product_permission_profiles\": [{\"product_id\":\"f6406c68-225c-4e9b-9894-64152a26fa83\",\"permission_profile_id\":\"${if (requestAccessAttributes.get('Group')=='Operations') {'13434853'} else {'13434852'}}\" },{\"product_id\":\"37f013eb-7012-4588-8028-357b39fdbd00\",\"permission_profile_id\":\"${if(requestAccessAttributes.get('Group')=='Operations') {'99'} else {'2'}}\"}],\"ds_groups\": [{\"ds_group_id\": \"${if(requestAccessAttributes.get('Group')=='Operations' && requestAccessAttributes.get('Country')=='US') {'bbb0f086-3de5-4c5d-b3a3-b0006542231c'} else if (requestAccessAttributes.get('Group')=='Legal') {'4cfaa67a-392c-4f63-bf12-8dd721fc82eb'} else if (requestAccessAttributes.get('Group')=='Operations' && requestAccessAttributes.get('Country')=='CA') {'0f4e77f2-9fd3-4526-899a-261b115d3a31'} else if (requestAccessAttributes.get('Group')=='Sales' && requestAccessAttributes.get('Country')=='US') {'56ebce9b-c35c-4b26-8c8c-c32b952e99fa'} else {'04b85ec9-4c9b-48e5-8126-fca70347674f'}}\"}] }':'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\",\"product_permission_profiles\": [{\"product_id\":\"f6406c68-225c-4e9b-9894-64152a26fa83\",\"permission_profile_id\":\"${if (requestAccessAttributes.get('Group')=='Operations') {'13434853'} else {'13434852'}}\" }]}'}"

We tried changing logic for conditions, but it didn't help.

"${requestAccessAttributes.AccesstoCLM ==('Yes')?'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\",\"product_permission_profiles\": [{\"product_id\":\"f6406c68-225c-4e9b-9894-64152a26fa83\",\"permission_profile_id\":\"${requestAccessAttributes.Group ==('Operations')?'{\"13434853\"}':'{\"13434852\"}'}\" },{\"product_id\":\"37f013eb-7012-4588-8028-357b39fdbd00\",\"permission_profile_id\":\"${requestAccessAttributes.Group ==('Operations')?'{\"99\"}':'{\"2\"}'}\"}]}':'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\"}'}"
 
Error 1 - 

2023-05-15 15:43:30,061 [quartzScheduler_Worker-6] ERROR rest.RestProvisioningService  - Exception in creating original http params:com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')

 

at [Source: ${requestAccessAttributes.AccesstoCLM ==('Yes')?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'","product_permission_profiles": [{"product_id":"f6406c68-225c-4e9b-9894-64152a26fa83","permission_profile_id":"${requestAccessAttributes.Group ==('Operations')?'{"13434853"}':'{"13434852"}'}" },{"product_id":"37f013eb-7012-4588-8028-357b39fdbd00","permission_profile_id":"${requestAccessAttributes.Group ==('Operations')?'{"99"}':'{"2"}'}"}]}':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'"}'}; line: 1, column: 2]

Error 2-

2023-05-15 15:33:08,694 [quartzScheduler_Worker-5] DEBUG rest.RestProvisioningService  - connection: userAuth

2023-05-15 15:33:08,745 [quartzScheduler_Worker-5] ERROR rest.RestProvisioningService  - Error in createNewUser:: 

com.fasterxml.jackson.core.JsonParseException: Unrecognized token '$': was expecting ('true', 'false' or 'null')

at [Source: ${requestAccessAttributes.AccesstoCLM ==('Yes')?'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'","product_permission_profiles": [{"product_id":"f6406c68-225c-4e9b-9894-64152a26fa83","permission_profile_id":"${if (requestAccessAttributes.get('Group')=='Operations') {'13434853'} else {'13434852'}}" },{"product_id":"37f013eb-7012-4588-8028-357b39fdbd00","permission_profile_id":"${if(requestAccessAttributes.get('Group')=='Operations') {'99'} else {'2'}}"}],"ds_groups": [{"ds_group_id": "${if(requestAccessAttributes.get('Group')=='Operations' && requestAccessAttributes.get('Country')=='US') {'bbb0f086-3de5-4c5d-b3a3-b0006542231c'} else if (requestAccessAttributes.get('Group')=='Legal') {'4cfaa67a-392c-4f63-bf12-8dd721fc82eb'} else if (requestAccessAttributes.get('Group')=='Operations' && requestAccessAttributes.get('Country')=='CA') {'0f4e77f2-9fd3-4526-899a-261b115d3a31'} else if (requestAccessAttributes.get('Group')=='Sales' && requestAccessAttributes.get('Country')=='US') {'56ebce9b-c35c-4b26-8c8c-c32b952e99fa'} else {'04b85ec9-4c9b-48e5-8126-fca70347674f'}}"}] }':'{"user_name": "'+user.firstname+'","first_name": "'+user.firstname+'","last_name": "'+user.lastname+'","email": "'+user.email+'","product_permission_profiles": [{"product_id":"f6406c68-225c-4e9b-9894-64152a26fa83","permission_profile_id":"${if (requestAccessAttributes.get('Group')=='Operations') {'13434853'} else {'13434852'}}" }]}'}; line: 1, column: 2]

SB
Saviynt Employee
Saviynt Employee

Are you still facing this issue or was it resolved.


Regards,
Sahil

UdaySai
New Contributor
New Contributor

Still facing the same issue

Hi @UdaySai  can you pls try the below format and let me know if this helps?

{
  "accountIdPath": "call1.message.newUsers[0].userId",
  "responseColsToPropsMap": {
    "customproperty1": "call1.message.newUsers.email~#~char"
  },
  "call": [
    {
      "name": "call1",
      "connection": "userAuth",
      "url": "xxx",
      "httpMethod": "POST",
      "httpParams": "${if(requestAccessAttributes?.get('AccesstoCLM').equals('Yes')){return '{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\"}';} else{return '{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\"}';}}",
      "httpHeaders": {
        "Authorization": "${access_token}",
        "Accept": "application/json"
      },
      "httpContentType": "application/json",
      "successResponses": {
        "statusCode": [
          200
        ]
      }
    }
  ]
}

 

Regards,
Naveen Sakleshpur
If this reply answered your question, please click the Accept As Solution button to help future users who may have a similar problem.

UdaySai
New Contributor
New Contributor

Still facing same error as mentioned above 

Can you share latest json and logs


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

SB
Saviynt Employee
Saviynt Employee

Lets try to break our condition and see if it helps us make progress and identify the cause. Can you use the below httpParams as is, in your JSON and then check the logs to see if it is resolving to the desired value.

"httpParams": "{${requestAccessAttributes.AccesstoCLM ==('Yes')?'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\",\"last_name\": \"'+user.lastname+'\",\"email\": \"'+user.email+'\"}':'{\"user_name\": \"'+user.firstname+'\",\"first_name\": \"'+user.firstname+'\"}'},[{\"product_id\":\"f6406c68-225c-4e9b-9894-64152a26fa83\",${requestAccessAttributes.Group==('Operations')?'{\"permission_profile_id\":{\"13434853\"}}':'{\"permission_profile_id\":{\"13434852\"}}']}"

The entry we are looking at in the logs is  Calling Webservice Url - xxx with httpParams 


Regards,
Sahil