When executing a querying against a Scripted ICF connector and specifying the _id attribute as a _sortKey, OpenIDM's ICF Provisioner service does not translate _id into Uid.NAME before setting the sort key within the connector OperationOptions.
Our OOTB scripted connector sample contain code to translate between native ICF attributes (__UID__ and __NAME__) and the attributes use on the target system. As a result of the OpenIDM ICF Provisioner not translating _id into the ICF __UID__ attribute the existing code within our samples fails to perform the necessary conversion to the attribute name in used by the external system.
This can be reproduced by executing the following request using the scripted-sql-with-mysql sample:
To resolve the issue, ObjectClassResourceProvider.getSanitizedSortKeys() should convert ResourceResponse.FIELD_CONTENT_ID to Uid.NAME. For example: