LDAP Tools

Overview

This Plug-in provides the ability to update Appian user profiles from data retrieved from an LDAP server. The data that can be synchronized include all the default user profile fields except the username (e.g. first name, last name, address, phone, supervisor, title, etc…) as well as the custom fields.

Key Features & Functionality

  • LDAP User Profile Synchronization (Smart Service) - available in the Process Modeler under Integration Services > Connectivity Services
  • LDAP Sync Process Model (Sample Process Model) - will need to be tailored and tested based on identity management requirements
  • ldapSearch() Function - returns an array of LDAP attributes for a specific search query

See the instructions documentation (attached PDF) and https://community.appian.com/w/the-appian-playbook/520/ldap-synchronization for more information.

Anonymous
  • Hi, We are also getting same issue. Please let me know if you find any solution

  • Hi, 

    Simply upgrade to the latest LDAP version. That seems to fix the error.

  • Hi, Getting the same error. Did you find the solution for this? 

  • We are receiving below error in LDAP Sync, this is due to more that 1000 users in AD group. Can anyone please let me know how to enable batching with LDAP User Profile Synchronization Smart service?

    com.appiancorp.services.exceptions.ServiceException: com.appiancorp.services.exceptions.ServiceException: javax.naming.SizeLimitExceededException: [LDAP: error code 4 - Sizelimit Exceeded]; remaining name 'dc=AD,dc=abc,dc=com'

  • Hej Zach, 

    Thanks for responding. We did upgrade to 1.5.0 version for the plugin on right after we upgraded the platform to 23.1. 

    Did some digging in the log you mentioned and found this ERROR msg: 

    2023-10-02 11:00:03,970 [ThreadPoolTaskExecutor-49977] ERROR com.appiancorp.process.workpoller.WorkItemListener - The following exception occurred while attempting to complete work item [[WorkId: 26, EngineId: execution00, Request: UnattendedJavaActivityRequest:1057423 as DeploymentDaemon by DeploymentDaemon, ProcessId: 222361, ProcessModelId: 301, Response: null]] - Exception: 
    javax.resource.spi.work.WorkCompletedException: java.lang.NoSuchMethodError: com.appiancorp.suiteapi.personalization.UserValidationUtils.isValidNameLength(Ljava/lang/String;I)Z

    I will investigate it on my end,however, if you already might know what's the cause of this, please feel free to respond.
  • User with last name with only ‘full stop’ is not getting sync as part of LDAP sync ‘and the moving towards failed user text.

  • Is your site using the latest plug-in version? More information will be available in the tomcat-stdout.log file about this error, but several users have reported issues with older version of this plug-in on 23.1 and later.

  • Hello, 

    Have anyone ran into any issues with this plugin while the system is on version 23.1 and above? 

    We are experiencing some issues with our plugin nodes, where is simply says that "An error occurred in executing an Activity Class."

  • We managed to get the plugin working. However, we are observing an issue. In the configuration screen, the filter testing results returns 3 users, however, in the "LDAP User Synch With Usernames" node, the "usernamesUpdated_texts" var will only return 2 users, therefore, 1 of the user will be removed from the current group in appian after the sync.

    We checked the setting on all 3 users in ldap are the same, what else are we missing here? Or can anyone tell us how can the same filter returns correct number of users in a group in ldap in configuration screen, and not in the smart node in process model?

  • I am trying to use ldapSearch() function from a expression editor and trying to pass the paraments the function needs. I am getting below error. Any Idea what might be the issue? 

    ERROR com.atlassian.plugins.rest.common.error.jersey.ThrowableExceptionMapper - Uncaught exception thrown by REST service: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature
    java.lang.LinkageError: loader constraint violation: when resolving method "org.slf4j.impl.StaticLoggerBinder.getLoggerFactory()Lorg/slf4j/ILoggerFactory;" the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) of the current class, org/slf4j/LoggerFactory, and the class loader (instance of org/apache/felix/framework/BundleWiringImpl$BundleClassLoader) for the method's defining class, org/slf4j/impl/StaticLoggerBinder, have different Class objects for the type org/slf4j/ILoggerFactory used in the signature

    Thanks