Support Article
Properties in a REST request convert to special characters
SA-42721
Summary
Pega properties, sent in a REST request, convert to special characters (Pega by default converts ‘eq’ to ‘=’ and ‘aster’ to ‘*’).
The below table provides a few examples:
Correct value | Converted Wrong value | |
cov_bill_excl_in | cov_bill_!in | |
dj_master_various | dj_m*various | |
firm_act_req_in | firm_act_r=in |
Error Messages
The Connect-REST request message has failed since the request parameters are having special characters.
Steps to Reproduce
- Create a REST connector and connect it to a service. The request must contain property names that include keywords such as ‘excl’, aster’, and ‘eq’
- Run the REST connector
- Trace the Connect-REST request
Root Cause
A defect in Pegasystems’ code or rules. Pega 7.1 uses out-of-the-box pyInboundIdentifierEncoder and pyOutboundIdentifierDecoder decision tables to encode and decode Pega reserved properties.
Resolution
Perform the following local-change:- Save both the decision tables (pyInboundIdentifierEncoder and pyOutboundIdentifierDecoder) in a local ruleset
- Modify the entries according to the below table
- Update the Return value in the pyInboundIdentifierEncoder decision table
- Update the PropertyIdentifier in the pyOutboundIdentifierDecoder decision table
- Provide unique names for the special characters
Correct value | Converted Wrong value | pyInboundIdentifierEncoder | pyOutboundIdentifierDecoder | ||
PropertyIdentiier | Return | PropertyIdentiier | Return | ||
cov_bill_excl_in | cov_bill_!in | '!' | excl_hashcode(excl) | excl_hashcode(excl) | '!' |
dj_master_various | dj_m*various | '*' | aster_hashcode(aster) | aster_hashcode(aster) | '*' |
firm_act_req_in | firm_act_r=in | '=' | eq_hashcode(eq) | eq_hashcode(eq) | '=' |
Published October 5, 2017 - Updated October 8, 2020
Have a question? Get answers now.
Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.