执行搜索操作期间发生无效字符错误

如果发生错误,报告执行搜索操作期间找到无效字符,请遵循这些步骤以进行故障诊断。

问题

搜索时发生类似以下示例的异常:

00000061 SystemErr     R   Caused by: java.lang.RuntimeException: 
An invalid XML character (Unicode: 0x0) was found in the element content: f _!l8

发生此错误可能是由于错误消息中报告的无效字符在搜索结果中存在,也可能是由于外部标识语法的配置不正确。

解决方案

首先,检查错误消息中报告的无效字符是否在搜索结果中,如此示例所示:

00000061 LdapConnectio < com.ibm.ws.wim.adapter.ldap.LdapConnection 
searchEntities RETURN [DN: CN=test,DC=wimtest,DC=com  ExtId: f _!l8  
UniqueName: CN=test,DC=wimtest,DC=com  
Type: PersonAccountAttributes: {objectguid=objectGUID: f _!l8, 
objectclass=objectClass: top, person, organizationalPerson, user, 
samaccountname=sAMAccountName: test, sn=sn: test, cn=cn: test}]

移除无效字符。

如果问题仍然存在,错误可能是由于 wimconfig.xml 文件中外部标识的配置不正确引起的。例如,在以下配置中,缺省语法类型为字符串。

<config:externalIdAttributes name="objectguid" />

此示例中外部标识的有效语法配置在此处显示:

<config:externalIdAttributes name="objectguid“ syntax=“octetString” />

下表列出 virtual member manager 所用的缺省外部标识属性和语法。

LDAP 类型 外部标识属性 语法
IBM Directory Server (IDS) ibm-entryUUID 字符串
Microsoft Active Directory (AD) objectGUID octetString
Sun ONE Directory Server nsuniqueId 字符串
Novell 目录服务 GUID octetString
其他 DistinguishedName 字符串


使用条款 | 反馈