Hi Michael,
Could you please attach your testcase to this issue? Specifically I just want to know the execution path you are taking. Are you calling update on a principal from the SecurityServer, or are you attempting to call storeAttributes on the RemoteDirectory interface?
We currently do not allow the adding of custom attributes to LDAP directories, but we do allow the updating of primary attributes for a user in LDAP (givenName, sn, email, displayName).
Calling
void updatePrincipalAttribute(AuthenticatedToken applicationToken, String name, SOAPAttribute attribute)
on the SecurityServerClient will inspect the SOAPAttribute and determine if the attribute is primary or not, if it is primary it will call updateUser, if the attribute is not a primary attribute, it will call storeUserAttributes. Currently storeAttributes will throw an UnsupportedOperationException if you are using an LDAP directory.
We have an open issue for custom attributes in LDAP here CWD-583
If you are using an Internal Directory we support both, so if this is the problem please let me know. I know I can add and modify both primary and custom attributes for a user, the only limitation currently is returning custom attributes in our SecurityServer API is currently not available.
We will be fixing this issue as part of the linked issue
CWD-1672in 2.0.2.