Item Paths and Type Names in Smart Integration Service Requests
|
Since 4.11
This functionality is available since version 4.11.
|
Overview
When midPoint calls the Smart Integration microservice, it describes resource object classes, focus types, and their statistics in a textual form. Items are identified by descriptive item paths, and object classes and focus types are identified by type names.
To make the request more readable for LLMs and to reduce noise in the payload, the common midPoint namespace (shown with the c: prefix) is not shown in these values.
All other namespace prefixes are kept.
Descriptive Item Paths
Descriptive item paths are used in the name of schema attributes (SiAttributeDefinitionType) and in the ref of attribute and attribute-tuple statistics sent to the service.
Path segments are separated by /.
A segment may carry a namespace prefix, typically:
-
ri:- resource-specific attributes (resource instance namespace), -
icfs:- ConnId special attributes, e.g.icfs:name,icfs:uid, -
ext1:,ext2:, … - extension items.
Segments from the common midPoint namespace are written without any prefix.
A multivalued segment that is not the last one in the path is followed by [*].
| Before 4.11-RC2 | Now |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Type Names
The name of the object schema (SiObjectSchemaType) follows the same rule:
-
resource object classes keep their prefix, e.g.
ri:inetOrgPerson,ri:account, -
midPoint focus types are sent without prefix, e.g.
UserTypeinstead ofc:UserType.
Because of this, SiObjectSchemaType/name is now declared as xsd:string instead of xsd:QName.
Statistics
Object class statistics (ObjectSetStatisticsType) stored in midPoint keep fully-qualified item paths, e.g. c:attributes/ri:emptype.
Only the copy sent to the service is simplified: common-namespace segments in attribute/ref and attributeTuple/ref are replaced with unqualified names, e.g. attributes/ri:emptype.
The stored statistics are not modified.
Paths Returned by the Service
The service is expected to refer to items using the same descriptive paths it received in the request. MidPoint resolves these paths back to regular item paths using the mapping created while serializing the request, so the unqualified form is correctly interpreted as items from the common midPoint namespace.