Overview#LDAP_TYPE_OR_VALUE_EXISTS refers to LDAP Result Code 20 which is returned in LDAP Result indicating that the attribute value or AttributeType value specified in a Modify Request or Add Request already exists.
Often manifests when attempting to add a value to a SINGLE-VALUE attribute without first removing the existing value.
Trouble Shooting#Unfortunately, the LDAP_TYPE_OR_VALUE_EXISTS text returned by LDAP typically does not identify the attribute causing the problem.
To identify exactly which attribute is throwing the error, use a LDIF file to comment out suspect attributes one at a time. The attribute can be commented out by placing a # as the first character in the line. After commenting out a mapping, import the LDIF file. If the error disappears, you have identified the problem attribute.Example shown below:
<ldap-err ldap-rc="20" ldap-rc-name="LDAP_ATTRIBUTE_OR_VALUE_EXISTS"> <client-err ldap-rc="20" ldap-rc-name="LDAP_ATTRIBUTE_OR_VALUE_EXISTS">Attribute Or Value Exists</client-err> <server-err>00002081: AtrErr: DSID-030F154F, #1: 0: 00002081: DSID-030F154F, problem 1006 (ATT_OR_VALUE_EXISTS), data 0, Att 8 (st)</server-err> <server-err-ex win32-rc="8321"/> </ldap-err>The "Att 8 (st)" indicates the attribute St is the culprit.
Other LDAP Server Implementations should take note of this feature.