未能从 LDAP 检索扩展二进制属性

在检索扩展二进制属性值时从 LDAP 收到意外的数据,显示了错误。为了解决此问题,请确定 LDAP 是否必须以二进制数据形式返回属性值。如果该值必须返回为二进制数据,那么配置环境属性以便将该值存储为字节数组。

问题

virtual member manager 从 LDAP 接收意外的数据,生成以下错误消息。
CWWIM4522E  “property_name”属性的数据类型无效。
在您尝试检索扩展属性的值(必须将其作为二进制数据处理)时,可能遇到此问题。您在将缺省 virtual member manager 属性映射到必须作为二进制数据处理的 LDAP 属性时,也可能遇到此问题。

例如,在 LDAP 中扩展新二进制属性 photoNewAttribute。为了使用来自 virtual member manager 的新 photoNewAttribute 二进制属性,您必须将属性映射到 virtual member manager 的缺省 jpegPhoto 二进制属性,或者您必须以 virtual member manager 模式扩展二进制属性。

virtual member manager 没有显式配置来将 LDAP 属性作为二进制数据处理。virtual member manager 使用 Java 命名和目录接口 (JNDI) 来访问 LDAP。缺省情况下,JNDI 仅将特定属性作为二进制数据处理(存储在字节数组 byte[] 中)。

解决方案

配置环境属性以使 virtual member manager JNDI 可以将属性值存储在字节数组中。
  1. 手动备份以下文件:<profile_home>/config/cells/<cell name>/wim/config/wimconfig.xml
  2. wimconfig.xml 文件中,配置 <ldapServer> 元素以包括 <environmentProperties> 元素,如下所示:
    <config:ldapServers ...>
      ....
      <config:environmentProperties name="java.naming.ldap.attributes.binary" value="photoNewAttribute"/>
    </config:ldapServers>
    其中,photoNewAttribute 是您的新 LDAP 属性的名称。
  3. 如果应用程序服务器在集群上运行,那么在名为 dmgr 的 Deployment Manager 概要文件中更新 wimconfig.xml 文件,并将这些更新同步到集群中的所有节点。
  4. 重新启动应用程序服务器以便更改在 wimconfig.xml 文件中生效(无论服务器在独立还是集群环境中)。


使用条款 | 反馈