Question
Infosys
NL
Last activity: 22 May 2018 4:36 EDT
Issues with Handling Dynamic Values Returned for pzExternalName with Rest JSON Response and Length of External fields to be set for mapping in pzExternalName
We have 2 major problems with Handling Response for a Rest Connector
- The Structure of the response API does not have name value parameter mapping
E.g.
{
"region/{region}/docsisModem/{mac}/cmtsData/modemData/downstreamChannel": {
"path": "/region/at/docsisModem/CC%3A35%3A40%3A29%3A2E%3AE9/cmtsData/modemData/downstreamChannel",
"resultValue": "113.0, 121.0, 129.0, 137.0, 145.0, 153.0, 161.0",
"error": null,
"createDate": 1525081352681,
"resultValues": {
"129.0": {
"region/{region}/docsisModem/{mac}/cmtsData/modemData/downstreamChannel/{frequency}/fecCorr": {
"path": "/region/at/docsisModem/CC%3A35%3A40%3A29%3A2E%3AE9/cmtsData/modemData/downstreamChannel/129.0/fecCorr",
"resultValue": "204237",
"error": null,
"createDate": 1525081350147,
"resultValues": null
},
For List of Upstream and Downstream Parameters Being returned we have ResultValue Parameter Brings back and ARRAY of Frequencies of the DownStream Bandwidth.Each of those BandWidths are replicated in the ResultValues list and then each of those Result Values with Parameters.
We have 2 major problems with Handling Response for a Rest Connector
- The Structure of the response API does not have name value parameter mapping
E.g.
{
"region/{region}/docsisModem/{mac}/cmtsData/modemData/downstreamChannel": {
"path": "/region/at/docsisModem/CC%3A35%3A40%3A29%3A2E%3AE9/cmtsData/modemData/downstreamChannel",
"resultValue": "113.0, 121.0, 129.0, 137.0, 145.0, 153.0, 161.0",
"error": null,
"createDate": 1525081352681,
"resultValues": {
"129.0": {
"region/{region}/docsisModem/{mac}/cmtsData/modemData/downstreamChannel/{frequency}/fecCorr": {
"path": "/region/at/docsisModem/CC%3A35%3A40%3A29%3A2E%3AE9/cmtsData/modemData/downstreamChannel/129.0/fecCorr",
"resultValue": "204237",
"error": null,
"createDate": 1525081350147,
"resultValues": null
},
For List of Upstream and Downstream Parameters Being returned we have ResultValue Parameter Brings back and ARRAY of Frequencies of the DownStream Bandwidth.Each of those BandWidths are replicated in the ResultValues list and then each of those Result Values with Parameters.
Since the Result Value is set dynamically there should be ideally Name Value pairs to identify these items. However since the response brings the actual value the Rest Wizard in Pega maps it to single page values with the relevant properties of path, error , create date and resultvalue. Because of this the Rest API works with only Fixed Values. So as of Now the wizard generated properties mapped to fixed signal strength like 129.0 which will not work out for this sort of a solution where we will get dynamic values for Up and Down streams.
The wizard Maps the hard coded values in the pzExternalName property qualifier and deleting it or updating it does not work for handling dynamic values.
- The property pzExternalName givers and error in case the length of the external property is greater than 64 characters. The property is Internal and Final and cannot be modified. Response of the API has most of the tags with length greater than 64 which would be a major limitation in case we have to add and remove fields manually.
Did any one face this problem before ? Is there a possibility to handle dynamic parameter names from API ?
Thanks and Regards,
Anindya