Question
When attempting to import a specific user, we get the error ‘Unlisted error’. When looking into the system events we see the following: ‘semi-colon character was expected’.
Error from SystemEvents
Occurred in file: Directory.cpp line: 173 In object EDirectory.Directory.1 In object MyIDBOLImpl.BOL_GetLDAPInfoADImpl.1 , Error Number 0x80048100</Message></rc><rc><EventID>227</EventID><Icon>res/img/Critical.gif</Icon><DBTime>2019-02-19 16:31:13</DBTime><OriginComputer>App/WebServer</OriginComputer><OriginModule>EdeficeBOL</OriginModule><Message>BOL Caught Exception in Function CBOL_GetLDAPInfoADWeb::GetADOrganisation, Error Description An error occurred inside CBOL_GetLDAPInfoADWeb::GetADOrganisation Error: 0x80048100 An error occurred inside CBOL_GetLDAPInfoADImpl::GetADOrganisation Error: 0x80048100 eDirectory Error: A semi colon character was expected.
Answer
MyID uses enveloped XML to pass data internally, if a special character is passed in the XML without being escaped properly, it can result in an error such as that reported. If this error is observed in the logs at the point when MyID is trying to establish a connection to the LDAP, it is possible that a character being used in the password is to blame. Avoid using any character that needs to be escaped in XML, in the passwords. There are many online articles about this, but basically the following characters need to be escaped in XML to be treated as a text string, otherwise they will be treated as characters that are used to markup XML syntax.
Special character |
Escaped form |
Gets replaced by |
Ampersand |
& |
& |
Less-than |
< |
< |
Greater-than |
> |
> |
Quotes |
" |
“ |
Apostrophe |
' |
‘ |
We recommend simply avoiding using these characters in XML as escaping them to be used as text could just become time consuming.