search cancel

Unicode char are appending in between the values

book

Article ID: 201902

calendar_today

Updated On:

Products

CA Identity Manager CA Identity Governance CA Identity Portal CA Identity Suite

Issue/Introduction

We have a use case where a user can select more than one role (screen logical attribute) from the multi-select control. we are sending the role values to PX and then we are sending email.

Email received on this format:

"EM-PSAPPORTAL-CORE-DATAENTRY",­­"EM-PSAPPORTAL-CORE-VIEWER",­­"EM-PSAPPORTAL-FINANCE-ADMIN",­­"EM-PSAPPORTAL-FINANCE-DATAENTRY",

However, when we copy past the value in notepad++ we are seeing few Unicode char are adding in between the values.

"EM-PSAPPORTAL-CORE-DATAENTRY",¬¬"EM-PSAPPORTAL-CORE-VIEWER",¬¬"EM-PSAPPORTAL-FINANCE-ADMIN",¬¬"EM-PSAPPORTAL-FINANCE-DATAENTRY",
 
We are sending the above attribute (role) in rest API call because of these Unicode char the api call is failing .

For further questions please setup a webex meeting.

no patch applied
version is 14.3
 

Environment

Release : 14.3

Component : IdentityMinder(Identity Manager)

Resolution

Add logical screen field attribute to the create user profile
Change type to a multi-select simple list
Add values to use business data and display user-friendly data, such as:

EM-PSAPPORTAL-PLANNING-ADMIN;Planning Admin
EM-PSAPPORTAL-PLANNING-DATAENTRY;Planning Data Entry
EM-PSAPPORTAL-PLANNING-VIEWER;Planning Viewer
EM-PSAPPORTAL-TRAINCERT-ADMIN;Traincert Admin

Create a Policy Xpress policy:
Profile: Type: Submitted TASK
Events: Event state: TASK COMPLETED, Event Name: Create User
Data:

Name: |ListOfStuff|
•Category: Attributes
•Type: User Attribute
•Function: Get
Function Description

Attribute Name (second radio-button) manually add screenfiled exact case: |ListOfStuff|

Save log to local PC, Open with notpad++ convert log to Ascii

You will see, two characters used as a separator: 
Copy this Ascii converted character

Modify your policy express policy create a new data element:
Name: changetxt
•Category: General
•Type: String Parser
•Function: Replace All
Original String: {'|ListOfStuff|'}
Sub-String to be Replaced: 
Replace With: ","

Produces:
"changetxt": EM-PSAPPORTAL-PLANNING-ADMIN","EM-PSAPPORTAL-PLANNING-DATAENTRY","EM-PSAPPORTAL-TRAINCERT-ADMIN

For Final consumption we had to wrap the value with quotes:

•Name: WrapWithQuotes
•Category: General
•Type: Constant
•Function: Get
Constant: "{'changetxt'}"

Produces:
This is the value of Wrap with Quotes: "EM-PSAPPORTAL-PLANNING-ADMIN","EM-PSAPPORTAL-PLANNING-DATAENTRY","EM-PSAPPORTAL-TRAINCERT-ADMIN"