Generic REST Collector fails with 'com.aveksa.client.genericrest.GenericRestException: UNEVEN_JSON_PATH_CONFIGURATION' in RSA Identity Governance & Lifecycle
Originally Published: 2020-04-22
Last Modified: 2023-10-06
Article Number
Applies To
RSA Version/Condition: 7.2.0
Issue
Collector test failed:
com.aveksa.server.runtime.ServerException: Test request failed with response: com.aveksa.server.runtime.ServerException: com.aveksa.common.DataReadException: com.aveksa.client.genericrest.GenericRestException: UNEVEN_JSON_PATH_CONFIGURATION {$.Resources[*].active=5, $.Resources[*].userName=5, $.Resources[*].[*].workerInformation.personNumber=0}. Caused by com.aveksa.client.genericrest.GenericRestException: UNEVEN_JSON_PATH_CONFIGURATION {$.Resources[*].active=5, $.Resources[*].userName=5, $.Resources[*].[*].workerInformation.personNumber=0} Caused By Stack com.aveksa.common.DataReadException: com.aveksa.client.genericrest.GenericRestException: UNEVEN_JSON_PATH_CONFIGURATION {$.Resources[*].active=5, $.Resources[*].userName=5, $.Resources[*].[*].workerInformation.personNumber=0} at com.aveksa.collector.generic.rest.adc.GenericRESTAccountDataIterator.next(GenericRESTAccountDataIterator.java:71) at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collectData(AccountDataCollector.java:422) at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collect(AccountDataCollector.java:302) at com.aveksa.client.datacollector.collectors.accountdatacollectors.AccountDataCollector.collectTestData(AccountDataCollector.java:277) at com.aveksa.client.datacollector.framework.DataCollectorManager.collect(DataCollectorManager.java:481) at com.aveksa.client.component.collector.DefaultCollectorManager.actUpon(DefaultCollectorManager.java:204) at com.aveksa.client.component.collector.DefaultCollectorManager.handle(DefaultCollectorManager.java:102) at com.aveksa.client.component.event.DefaultEventManager.handle(DefaultEventManager.java:75) at com.aveksa.client.datacollector.framework.SimpleEventSource.notifyListeners(SimpleEventSource.java:67) at com.aveksa.client.component.communication.DefaultCommunicationManager.notifyEvent(DefaultCommunicationManager.java:377) at com.aveksa.client.component.communication.ChangeListHandler.applyChanges(ChangeListHandler.java:364) at com.aveksa.client.component.communication.ChangeListHandler.access$300(ChangeListHandler.java:58) at com.aveksa.client.component.communication.ChangeListHandler$ChangeApplyingRunnable.run(ChangeListHandler.java:275) at java.lang.Thread.run(Thread.java:748) Caused by: com.aveksa.client.genericrest.GenericRestException: UNEVEN_JSON_PATH_CONFIGURATION {$.Resources[*].active=5, $.Resources[*].userName=5, $.Resources[*].[*].workerInformation.personNumber=0} at com.aveksa.client.genericrest.GenericRestException.parsingError(GenericRestException.java:100) at com.aveksa.client.genericrest.postprocessor.response.JSONResponseHandler.parseResponseForDataCount(JSONResponseHandler.java:64) at com.aveksa.client.genericrest.postprocessor.response.JSONResponseHandler.parseResponseForData(JSONResponseHandler.java:108) at com.aveksa.client.genericrest.postprocessor.impl.GenericRESTPostprocessorImpl.getParsedData(GenericRESTPostprocessorImpl.java:90) at com.aveksa.client.genericrest.GenericRESTClient.executeTestCollection(GenericRESTClient.java:173) at com.aveksa.collector.generic.rest.adc.GenericRESTAccountDataIterator.collectAccountData(GenericRESTAccountDataIterator.java:155) at com.aveksa.collector.generic.rest.adc.GenericRESTAccountDataIterator.next(GenericRESTAccountDataIterator.java:68) ... 13 more End Stack
In the following example the JSON array contains workerinformation only if the account is linked to an identity. Service accounts do not have workerinformation. This results in an uneven JSON array where the service accounts have less array elements than the identity accounts. Note that identity account cblossom has workerinformation and service accounts fa_operator and fa_guest do not have workerinformation.
{
"itemsPerPage" : 50,
"startIndex" : 1,
"Resources" : [{
"id" : "47XXXXXXXXXXXXXXXXXXXXXXXXXXXX6D",
"schemas" : [ "urn:scim:schemas:core:2.0:User", "urn:scim:schemas:extension:fa:2.0:faUser" ],
"userName" : "fa_operator",
"urn:scim:schemas:extension:fa:2.0:faUser" : {
"userCategory" : "DEFAULT"
},
"active" : true
}, {
"id" : "4AXXXXXXXXXXXXXXXXXXXXXXXXXXXX48",
"schemas" : [ "urn:scim:schemas:core:2.0:User", "urn:scim:schemas:extension:fa:2.0:faUser" ],
"userName" : "fa_guest",
"urn:scim:schemas:extension:fa:2.0:faUser" : {
"userCategory" : "DEFAULT"
},
"active" : true
}, {
"id" : "51XXXXXXXXXXXXXXXXXXXXXXXXXXXX5A",
"schemas" : [ "urn:scim:schemas:core:2.0:User", "urn:scim:schemas:extension:fa:2.0:faUser" ],
"userName" : "cblossom@mailinator.com",
"urn:scim:schemas:extension:fa:2.0:faUser" : {
"userCategory" : "DEFAULT",
"accountType" : "Person",
"workerInformation" : {
"personNumber" : "99999",
"manager" : "null",
"department" : "null"
}
},
"active" : false
} ]
}
The JSON parsing looks like this:
Note that if the personNumber Collector Mapping Parameter is removed, the error does not occur.
Cause
This error is caused by parsing a Collector Mapping Parameter that is not part of every array element in the JSON array. In the above example, personNumber is part of workerinformation which is not part of every array element. Removing this parameter, leaves only fields AccountID and isActive which belong to all array elements and do not cause the error.
Resolution
Workaround
Related Articles
Pagination fails by using base URL in a generic REST salesforce ADC/EDC collector in RSA Governance & Lifecycle 212Number of Views Compatibility with IIS plugin to enable requests to proxy from Microsoft Internet Information Services (IIS) to BEA WebLogic 9Number of Views Is RCM 6.8 API compatibility with Microsoft Visual Studio 2010? 12Number of Views Generic REST Collector Test Authentication Token fails with 'Error encountered while fetching token, Status Code: 4… 245Number of Views 'Request could not be handled' and 'No enum constant com.aveksa.server.core.DataCollector.Status.InActive' errors exportin… 162Number of Views
Trending Articles
How to manipulate imported RSA SecurID Software Token(s) on an iPhone or iPad device Reporting on RSA Authentication Manager 8.x users with On-Demand Token, a fixed passcode or a hardware/software token assi… How to Download OTP Token Seed Files from myRSA Anomalix idGenius - SAML Relying Party Configuration - RSA Ready Implementation Guide RSA MFA Agent 2.5 for Microsoft Windows Installation and Administration Guide
Don't see what you're looking for?