Invalid character error occurs during search operation
Follow these steps to troubleshoot if an error occurs, which reports that an invalid character is found during a search operation.
Problem
An exception similar to the following example occurs while searching:
00000061 SystemErr R Caused by: java.lang.RuntimeException:
An invalid XML character (Unicode: 0x0) was found in the element content: f _!l8
While this error might occur because the invalid character reported in the error messages does exist in the search result, it could also occur due to incorrect configuration of the external ID syntax.
Solution
First, check whether the invalid character that is reported in the error message does exist in the search result, as shown in this example:
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}]
Remove the invalid character.
If the problem persists, the error might be caused by an incorrect configuration of the external ID in the wimconfig.xml file. For example, in the following configuration, the default syntax type is String.
<config:externalIdAttributes name="objectguid" />
The valid syntax configuration for external ID in this example is shown here:
<config:externalIdAttributes name="objectguid“ syntax=“octetString” />
The following table lists the default external ID attributes and syntax used by virtual member manager.
LDAP type | External ID attribute | Syntax |
---|---|---|
IBM Directory Server (IDS) | ibm-entryUUID | String |
Microsoft Active Directory (AD) | objectGUID | octetString |
Sun ONE Directory Server | nsuniqueId | String |
Novell Directory Services | GUID | octetString |
Other | DistinguishedName | String |