Errors Related to midPoint Query Language

Last modified 09 Jun 2025 17:57 +02:00

This page explains error messages that you may encounter while searching with midPoint Query Language (MQL), and provides troubleshooting suggestions.

In GUI, error messages are typically displayed below the query field.

Path Is Not Present in Type

Error path is not present

In this case, an administrator wanted to search for a user with the name "adam".

MidPoint says the namex attribute cannot be found in the UserType object type that is displayed in the view Users in which the administrator is searching.

This is the most typical error you can encounter. It is caused by an incorrect identification of the property (attribute) in the query. Often this error is caused by a typo in the name of the attribute. In the example above, it is caused by the additional "x" in name.

{http://midpoint.evolveum.com/xml/ns/public/common/common-3} is the namespace of the UserType type. You can ignore it here.

Request

Find users with the name "adam".

Query

namex = "adam"

Error message

Path namex is not present in type {http://midpoint.evolveum.com/xml/ns/public/common/common-3} UserType

Reason

In this case, the error was caused by a typo: namex vs. name

Correct query

name = "adam"

Troubleshooting hints

  • Verify, that the attribute is present in the object type in which you are searching. You can verify it at the Searchable Items in midPoint page.

  • The name attribute differs from the name that is displayed in GUI (the displayName). Search is using the name of the attribute. The translation between name and displayName is described at the Searchable Items in midPoint page.

  • Verify that you do not have a typo (e.g. case mismatch) in the name of the property.

  • Verify that the view is displaying the object type you want to search for. You can see its name at the end of the error message.

Path Is Not Present in Type - Dereferencing

Error path is not present - dereferencing

Another kind of the "path is not present in type" error can occur while searching in referenced objects.

Request

Find all users with an assigned role identified by the value "III" of the identifier attribute.

Query

assignment/targetRef/@ matches (identifier="III")

Error message

Path identifier is not present in type {http://midpoint.evolveum.com/xml/ns/public/common/common-3}AssignmentHolderType

Reason

While using dereferencing, midPoint has to know the type of the referenced object to correctly process the query.
In this query, midPoint cannot identify the type of the referenced object, and it incorrectly assumes it is of the AssignmentHolderType type.

Correct query

assignment/targetRef/@ matches (. type RoleType and identifier="III")

Troubleshooting hints

  • In this case, you need to redefine the type of the referenced object. The code . type RoleType tells midPoint that the type of the referenced object is RoleType. MidPoint can then find the identifier attribute correctly.

  • When the type is explicitly defined, midPoint knows the actual schema of the object. It means that you can search for extension attributes as well.
    For example, assignment/targetRef/@ matches (. type RoleType and extension/sapType="SAP555") is a valid query if the sapType extension attribute is defined in the extension schema.

Definition Is Not Property

Error definition is not property

Request

Find all users with the "System user" role assigned.

Query

assignment/targetRef = "System user"

Error message

Definition PRD:{…​/common/common-3} targetRef {…​/common/common-3}ObjectReferenceType[0,1],RAM is not property

Reason

The targetRef is a reference to an object. Not to a searchable property.
To search for an assigned object name, you need to reference properties within the object, for example their name.

Correct query

assignment/targetRef/@/name = "System user"

Troubleshooting hints

  • Verify that the attribute is present in the object type you are searching. You can check it at the Searchable Items in midPoint page.

  • Use the dereferencing operator “@” for referencing attributes of the assigned object.

Additional Unsupported Filter Specified

Error additional unsupported filter specified

Request

Query all assignments of a role.

Query

assignment/targetRef matches (name="ABC:Admin")

Error message

Additional unsupported filter specified: name="ABC:Admin"

Reason

The query should be searching in referenced objects but the dereferencing operator @ is missing.

Correct query

assignment/targetRef/@ matches (name="ABC:Admin")

Additional Unsupported Filter Specified: type=…​

Error - additional unsupported filter specified - type

Request

Query all users who have a role assigned.

Query

assignment/targetRef matches (type=RoleType)

Error message

Additional unsupported filter specified: type=RoleType

Reason

The Matches filter in the query requires the “targetType” keyword to search for the assigned object type.

Correct query

assignment/targetRef matches (targetType=RoleType)

Troubleshooting hints

Cannot Find Enum Value for String

Error cannot find enum value for string

Request

Find all users with the normal lockout status.

Query

activation/lockoutStatus = "Normal"

Error message

Cannot find enum value for string 'Normal' in class com.evolveum.midpoint.xml.ns._public.common.common_3.LockoutStatusType

Reason

The schema defines an enumerated value for this attribute. In this case, the valid values are "normal" and "locked" (lowercase).

Correct query

activation/lockoutStatus = "normal"

Troubleshooting hints

Search for valid values in the schema definition. Select a version corresponding to your midPoint version.
In this case, search in "common/common-3" schema for "LockoutStatusType".

Couldn’t Count Objects

This error message tells you that the query failed during processing.

This message covers multiple failure scenarios. You need to open the error message and review the subsequent messages to find the root cause of the failure.

Unsupported Matching Rule 'stringIgnoreCase'

Error unsupported matching rule

Request

Find all users with the locality "Edinburgh" while ignoring casing, i.e. the locality is "edinburgh", "EDINBURGH", "Edinburgh", etc.

Query

locality =[stringIgnoreCase] "Edinburgh"

Error message

Unsupported matching rule 'stringIgnoreCase' for value type 'PolyStringType'.

Reason

The matching rules relate to the attribute type.
locality is of PolystringType and the stringIgnoreCase matching rule is defined for strings only.
For polystrings, you need to use the origIgnoreCase matching rule.

Correct query

locality =[origIgnoreCase] "Edinburgh"

Troubleshooting hints

  • For more information about matching rules in queries, refer to matching rules.

  • For a list of all matching rules, refer to the Matching Rules page.

Cannot Invoke ..SubfilterOrValueContext.valueSet() Because "subfilterOrValue" Is Null

Error cannot invoke subfilter - value is null

Request

Find all users with the name similar to "ang" using a Levenshtein distance search.

Query

name levenshtein("ang",2,true)

Error message

Cannot invoke "com.evolveum.axiom.lang.antlr.query.AxiomQueryParser$SubfilterOrValueContext.valueSet()" because "subfilterOrValue" is null

Reason

levenshtein is a filter name, not a function with parameters.
The query is missing a space between levenshtein and (.

Correct query

name levenshtein ("ang",2,true)

Troubleshooting hints

Similarity search filters require 3 attributes. The set of attributes is enclosed in brackets.

QName Value Expected

Error - QName value expected

Request

Find all owners, i.e. all users who have an owner assignment.

Query

assignment/targetRef matches ( relation="org:owner")

Error message

QName value expected

Reason

relation is of the QName type. QName values are included in queries without quotation marks.

Correct query

assignment/targetRef matches (relation=org:owner) or
assignment/targetRef matches (relation=owner)

Troubleshooting hints

Was this page helpful?
YES NO
Thanks for your feedback