-
Notifications
You must be signed in to change notification settings - Fork 44
Open
Description
Query for "mailUidNumber" which is integer:
Nov 07 08:30:36 - ERROR - Error while adding entry uid=10221,xxxxxxxxxxxxx,dc=xx in directory :javax.naming.directory.InvalidAttributeValueException: Malformed 'mailUidNumber' attribute value; remaining name 'uid=10221,xxxxxxxxxxl'
When I change the underlying view to:
cast(`mail_user`.`mailuser_id` as char charset utf8mb4) AS `mailUidNumber`,
this works as expected.
lsc should not be dependent on the column type of the database.
REPRODUCE:
Create a mysql table with mailuser_id as an int(11)
Sync that to ldap
<bean>org.lsc.beans.SimpleBean</bean>
<databaseSourceService>
<name>maildb-src2</name>
<connection reference="mail-sql"/>
<requestNameForList>getInetOrgPersonList</requestNameForList>
<requestNameForObject>getInetOrgPerson</requestNameForObject>
<requestNameForClean>getInetOrgPersonClean</requestNameForClean>
</databaseSourceService>
<ldapDestinationService>
<name>mailldap-dst2</name>
<connection reference="mail-ldap"/>
<baseDn>ou=mail,dc=heiss,dc=it</baseDn>
<pivotAttributes>
<string>uid</string>
</pivotAttributes>
<fetchedAttributes>
<string>description</string>
<string>cn</string>
<string>sn</string>
<string>uid</string>
<string>userPassword</string>
<string>objectClass</string>
<string>mail</string>
<string>mailAlias</string>
<string>mailEnabled</string>
<string>mailUidNumber</string>
<string>mailQuota</string>
</fetchedAttributes>
<getAllFilter>(objectClass=inetOrgPerson)</getAllFilter>
<getOneFilter>(&(objectClass=inetOrgPerson)(uid={uid}))</getOneFilter>
</ldapDestinationService>
<propertiesBasedSyncOptions>
<!-- <mainIdentifier>"mail=" + srcBean.getDatasetFirstValueById("mail") + ",ou=" + srcBean.getDatasetFirstValueById("groupid") + ",ou=mail,dc=heiss,dc=it"</mainIdentifier> -->
<mainIdentifier>"uid=" + srcBean.getDatasetFirstValueById("uid") + ",ou=" + srcBean.getDatasetFirstValueById("ou") + ",ou=mail,dc=heiss,dc=it"</mainIdentifier>
<defaultDelimiter>;</defaultDelimiter>
<defaultPolicy>FORCE</defaultPolicy>
<dataset>
<name>objectClass</name>
<policy>FORCE</policy>
<forceValues>
<string>"top"</string>
<string>"person"</string>
<string>"organizationalPerson"</string>
<string>"inetOrgPerson"</string>
<string>"PostfixBookMailAccount"</string>
</forceValues>
<delimiter>,</delimiter>
</dataset>
</propertiesBasedSyncOptions>
</task>
<databaseConnection>
<name>mail-sql</name>
<url>jdbc:mariadb://xxxxxx3306/yyyyyy</url>
<username>ldap</username>
<password>yyyyyyyyyyyyy</password>
<driver>org.mariadb.jdbc.Driver</driver>
</databaseConnection>
<select id="getInetOrgPerson" resultClass="java.util.HashMap" parameterClass="java.util.Map">
Select *
FROM ldap
WHERE uid LIKE #uid#
</select>
<select id="getInetOrgPersonClean" resultClass="java.util.HashMap" parameterClass="java.util.Map">
Select
uid
FROM ldap
WHERE uid LIKE #uid#
</select>
<select id="getInetOrgPersonList" resultClass="java.util.HashMap">
SELECT mail, uid
FROM ldap
</select>
Metadata
Metadata
Assignees
Labels
No labels