Google Driver Parse Exception

Problem

With version 4.0.4 and later of the Google Apps driver, some customers are experiencing a SAX Parse exception from their driver. This typically occurs with events relating to domain shared contacts or email settings. In the driver trace log, it will look something like this:

<status level="fatal" type="driver-status">
     <description>com.google.gdata.util.ParseException: Feature: http://xml.org/sax/features/external-general-entities</description>
     <exception class-name="com.google.gdata.util.ParseException">
          <message>Feature: http://xml.org/sax/features/external-general-entities</message>
     </exception>
     <exception class-name="org.xml.sax.SAXNotSupportedException">
          <message>Feature: http://xml.org/sax/features/external-general-entities</message>
     </exception>

This error will cause the driver to shut down and refuse to restart properly.

Solution

The Google driver has a built in XML parser which will correct the problem. To solve the issue, it is necessary to enable the driver configuration parameter called "Override JAXP Factory?" also known as drvOverrideFactorySettings. This parameter should be changed to the value "true" to use the corrected XML parser, which will resolve the issue. This parameter has been present for many years in the driver configuration, but has only just recently been needed. As a result, it may be hidden on your driver. 

Changing the value via Designer

Remember that IDM Designer is an off-line tool. Any changes made in Designer do not automatically get applied to the driver configuration in eDirectory. You must update the driver configuration via Designer's "Deploy" or "Compare" functionality. Please consult your IDM documentation for details. 

Bring up the driver properties (usually by double-clicking the driver's line in the modeler)



The option is found under Driver Configuration, Driver Parameters, Driver Options. Change it to "true," click "OK," and update the version of the driver in eDirectory.

If the option is not visible, as shown below, it will be necessary to unhide it. 



Click the "Edit XML..." button to bring up the XML editor.



Find the parameter in the XML (it is highlighted above) and change the value of hide to "false." Click "OK." 

The parameter will now be visible and you can change the value to "true" as shown above. Update the driver in eDirectory.

Changing the value via iManager

From within iManager, go to the Identity Manager Overview screen.



Select your driver set (click the "Driver Sets" tab to initiate a search).



Select your Google Apps driver on the left, then click the driver's icon on the right pane, as shown below.



Click Driver configuration, then scroll down to the Driver Parameters section. If the option is visible, please set it to "true" as shown below:



If the option is not visible, click "Edit XML" as shown below:



In the XML editor, check the "Enable XML editing" box, then find the "Override JAXP Factory" option. Change the value of hide to "false" and click "OK."



This will make the parameter visible. Change it to "true" as shown above. Click "OK" to save the changes and restart the driver.