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

Version Upgrade 24.2 - SOAP , AD jsons failing

AG
Regular Contributor II
Regular Contributor II

Hi Team,

We are seeing strange behavior with SOAP & AD connection types. Previously working json are not working now.

For instance, UUID function does not generate a value rather the function is passed as it is to the target.

Certain if else condition including ternary operator not able to replace the values dynamically instead the entire logic is sent as it is.

 

5 REPLIES 5

rushikeshvartak
All-Star
All-Star

Please share json


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

AG
Regular Contributor II
Regular Contributor II

@rushikeshvartak  e.g. below json does not work for AD connection type. Not sure what is wrong here.

"displayName":["${if(user.customproperty3.toString.length()>20) {user.customproperty3.toString.substring(0,20)} else {user.customproperty3}}"],

 

"displayName": ["${user.customproperty3.length() > 20 ? user.customproperty3.substring(0, 20) : user.customproperty3}"]


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

AG
Regular Contributor II
Regular Contributor II

Thanks, I think I tried ternary operator as well. Will try again. So If-else will not work with functions now or the format is incorrect?

AG
Regular Contributor II
Regular Contributor II

As per Saviynt there are specific formats which will work only in LDAP & REST and not in SOAP e.g.

"attrABC":[
"${if(task.source.equals('REQUEST')){if(user.employeeType=='Contractor') {DA} else {DA1}} else {if(task.source.equals('ZERODAY')) {binding.hasVariable('DA') ? DA : ''}}}"
],

 

\"attrABC\": \"${if(user.customproperty1=='ABC') {userManager.customproperty1} else if(user.customproperty1=='XYZ') {user.customproperty1} else if(user.customproperty1=='LMN' && user.customproperty6!='') {user.customproperty2} else {DA+'00'}}\",

Also, we can use https://www.jdoodle.com/execute-groovy-online to verify json formats but I don't know how to use this yet.