Схема OpenAM по умолчанию требует атрибутов sn и cn при использовании службы /identity/create. Несмотря на то, что я указываю их в запросе, я получаю сообщение об ошибке, говорящее, что sn отсутствует... У кого-нибудь еще есть работающая конечная точка создания удостоверения?
Я использую OpenDS для поддержки ldap и версию 9.5.4 для OpenAM. Все остальные конечные точки (аутентификация, выход из системы, isValidToken, обновление) работают нормально.
Запрос:
http://openam:8080/openam/identity/create?admin={token}&identity_type=user&identity_name=jdoe&identity_realm=/&identity_attribute_names=userpassword&identity_attribute_values_userpassword=changeme&identity_attribute_names=givenname&identity_attributes_values_givenname=tbd&identity_attribute_names=sn&identity_attributes_values_sn=tbd&identity_attribute_names=cn&identity_attributes_values_cn=tbd
Исключение:
exception.name=com.sun.identity.idsvcs.GeneralFailure Plug-in com.sun.identity.idm.plugins.ldapv3.LDAPv3Repo encountered an ldap exception. LDAP Error 65: The requested operation will add or change data so that the data no longer complies with the schema.
Ошибка OpenDS:
ADD RES conn=82 op=20 msgID=33882 result=65 message="Entry uid=jdoe,ou=people,dc=company,dc=com violates the Directory Server schema configuration because it is missing attribute sn which is required by objectclass person" etime=0
Обновлять:
Похоже, что к тому времени, когда он попадет в LDAPv3Repo, атрибуты sn и cn будут удалены:
LDAPv3Repo:07/02/2012 05:52:17:986 PM PDT: Thread[http-bio-8080-exec-2,5,main]
exit addAttrMapping: attrMap = {mail=[], sn=[], cn=[], inetuserstatus=[Active], givenname=[], userpassword=xxx..., dn=[]}
В журнале отладки нет ничего, что могло бы помочь.