OpenAM(以前はOpenSSO)が正常にインストールされ、Glassfishコンテナで実行されています。また、OpenLDAPがインストールされており、最小限で動作しています。別のサーバー(Java AccessManagerおよびSun Java System Directory Server))からレコードのLDIFファイルをインポートしようとしていますが、ldapaddを実行しようとすると永続的なエラーが発生します。
ldap_add: Invalid syntax (21)
additional info: objectClass: value #2 invalid per syntax
http://blogs.Oracle.com/indira/entry/using_openldap_as_user_data で提供されているスキーマを追加しましたが、エラーメッセージには影響しないようです。 LDAPについての簡単な理解が不足している可能性があります。
これが私のLDIFファイルからのサンプルレコードです(ドメインとパスワードが変更されました):
dn: uid=amAdmin,ou=People,dc=domain,dc=org
objectClass: inetuser
objectClass: inetorgperson
objectClass: organizationalperson
objectClass: person
objectClass: top
objectClass: iplanet-am-managed-person
objectClass: iplanet-am-session-service
objectClass: iplanet-am-user-service
objectClass: iPlanetPreferences
objectClass: inetAdmin
objectClass: sunAMAuthAccountLockout
inetUserStatus: Active
cn: amAdmin
sn: amAdmin
userPassword:: ------
uid: amAdmin
上記のリンクで提供されているスキーマファイルには、「objectClass」行で使用されているすべての属性の構成が含まれている必要があると思いますが、それは私の主な誤解の1つである可能性があります。
助けてくれてありがとう!
このエラーは、オブジェクトクラス値が認識されないか、エントリのLDIF定義に余分なスペースがあるために属性構文が無効であることが多いためです。値#2はinetOrgPersonなので、2番目のオプションだと思います。