Support Article

JSON Mapping exception after migrating to Pega 7.1.8



User migrated from Pega 7.1.7 to 7.1.8. After upgrade their Connect-RESTs are failing due to the below exception.

Error Messages

------------------HTTP RESPONSE CONTENTS------------------
Response Message Data:
{"User": {"_rallyAPIMajor": "1", "_rallyAPIMinor": "38"}}
----------------END HTTP RESPONSE CONTENTS----------------

WARN - The reference _rallyAPIMajor is not valid. Reason: invalid property name: '_rallyAPIMajor', update "@baseclass.pyInboundIdentifierEncoder" and "@baseclass.pyOutboundIdentifierDecoder" decision tables to replace the invalid character in the incoming request data. Error mapping incoming response to .response_GET: PRException

Steps to Reproduce

Create a REST Connector for which Response properties should have special character like "_PropName:"test"". Given below the JSON.

Root Cause

Properties generation is different in Pega 7.1.7 and Pega 7.1.8. In Pega 7.1.8 property qualifiers are getting added to properties automatically. After user generated the properties in Pega 7.1.7 and observed the reported issue.


Perform the following local-change:
  1. Add the pzExternalName qualifier to the advanced tab of the properties where the issue is occurring.  The pzExternalName is already present and shipped in out-of-the-box (OOTB).

2.  Check out the property map the pzExternalName qualifier for the property like uScore_ref and set the value as the _ref(original json name).
3. For missing properties  create whichever is prone to a special character mapping and set the same qualifier.
4.  Apply HFIX-23709 which will improve the performance of JSON mapping on the inbound side.



Suggest Edit

Published October 28, 2015 - Updated October 8, 2020

100% found this useful

Have a question? Get answers now.

Visit the Collaboration Center to ask questions, engage in discussions, share ideas, and help others.