LDAP sync stops if a user has an attribute with no value

  • 7021072
  • 07-Jul-2017
  • 17-Jul-2017

Environment

Micro Focus Vibe 4.0.3

Situation

During LDAP sync against GroupWise as the directory, the sync process may stop if it encounters a user that has an empty value for an attribute that is being mapped in Vibe. For example, if a user's email address was empty the LDAP sync would report this problem in the appserver.log and stop.

When this happens, the following error will appear in the appserver.log file:

2017-05-16 12:51:37,863 ERROR [http-nio2-8443-exec-4] [org.kablink.teaming.module.ldap.impl.LdapModuleImpl] - An error was encountered syncing users.  Ldap sync will not continue.
2017-05-16 12:51:37,863 ERROR [http-nio2-8443-exec-4] [org.kablink.teaming.module.ldap.impl.LdapModuleImpl] - Exception encountered while syncing users:
org.kablink.teaming.domain.LdapSyncException: java.util.NoSuchElementException: Attribute mail has no value
    at org.kablink.teaming.module.ldap.impl.LdapModuleImpl.syncAllImpl(LdapModuleImpl.java:3454)
    at org.kablink.teaming.module.ldap.impl.LdapModuleImpl.syncAll(LdapModuleImpl.java:3296)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.kablink.teaming.search.interceptor.IndexSynchronizationManagerInterceptor.invoke(IndexSynchronizationManagerInterceptor.java:80)

Resolution

A fix for this issue is available in the Vibe 4.0.3 - Patch 1, available via the Micro Focus Patch Finder.