Groupwise 2014 Driver Error - can not access a member of class javax.xml.transform.sax.SAXTransformerFactory with modifiers "protected"

  • 7017062
  • 09-Dec-2015
  • 09-Dec-2015

Environment

NetIQ Identity Manager 4.0.x
NetIQ Identity Manager 4.5
NetIQ Identity Manager Driver - Groupwise 2014 Rest driver

Situation

When attempting to process an add operation from eDirectory to Groupwise 2014 via the Groupwise 2014 driver, the following error is received:

13:22:28 E9C03700 Drvrs: gw2014 ST:
DirXML Log Event -------------------
Driver: \WGSDVAULT\SD\driverset\GroupWise2014
Channel: Subscriber
Object: \WGSDVAULT\SD\Teachers\aegerter
Status: Error
Message: Code(-9010) An exception occurred: javax.xml.transform.TransformerFactoryConfigurationError: Provider javax.xml.transform.sax.SAXTransformerFactory could not be instantiated: java.lang.IllegalAccessException: Class javax.xml.transform.FactoryFinder can not access a member of class javax.xml.transform.sax.SAXTransformerFactory with modifiers "protected"
   at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:107)
   at com.novell.gw.dirxml.driver.rest.util.GWRestConnector.httpPut(Unknown Source)
   at com.novell.gw.dirxml.driver.rest.common.GWengine.modifyObject(Unknown Source)
   at com.novell.gw.dirxml.driver.rest.common.GWengine.modifyAttributes(Unknown Source)
   at com.novell.gw.dirxml.driver.rest.common.GWengine.modifyAttributes(Unknown Source)
   at com.novell.gw.dirxml.driver.rest.common.GWengine.processModifyEvent(Unknown Source)
   at com.novell.gw.dirxml.driver.rest.common.GWengine.execute(Unknown Source)
   at com.novell.gw.dirxml.driver.rest.shim.GWsubscriptionShim.execute(Unknown Source)
   at com.novell.nds.dirxml.engine.Subscriber.execute(Subscriber.java:455)
   at com.novell.nds.dirxml.engine.Subscriber.execute(Subscriber.java:289)
   at com.novell.nds.dirxml.engine.Subscriber.processMerge(Subscriber.java:2085)
   at com.novell.nds.dirxml.engine.Subscriber$SyncProcessor.process(Subscriber.java:1801)
   at com.novell.nds.dirxml.engine.Subscriber.processEvent(Subscriber.java:1136)
   at com.novell.nds.dirxml.engine.Subscriber.processEvents(Subscriber.java:953)
13:22:28 E9C03700 Drvrs:    at com.novell.nds.dirxml.engine.Driver.submitTransaction(Driver.java:764)
   at com.novell.nds.dirxml.engine.DriverEntry.submitTransaction(DriverEntry.java:1128)
   at com.novell.nds.dirxml.engine.DriverEntry.processCachedTransaction(DriverEntry.java:1012)
   at com.novell.nds.dirxml.engine.DriverEntry.eventLoop(DriverEntry.java:820)
   at com.novell.nds.dirxml.engine.DriverEntry.run(DriverEntry.java:597)
   at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalAccessException: Class javax.xml.transform.FactoryFinder can not access a member of class javax.xml.transform.sax.SAXTransformerFactory with modifiers "protected"
   at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:109)
   at java.lang.Class.newInstance(Class.java:368)
   at javax.xml.transform.FactoryFinder.newInstance(FactoryFinder.java:188)
   at javax.xml.transform.FactoryFinder.find(FactoryFinder.java:250)
   at javax.xml.transform.TransformerFactory.newInstance(TransformerFactory.java:101)
   ... 19 more

13:22:28 E9C03700 Drvrs: gw2014 ST:End transaction.

Resolution

In the properties of the Google Apps driver running on the same server,  Driver Configuration, Driver Parameters, Driver Options, there is a normally hidden configuration setting (you may need to use Edit XML to see) called Override JAXP Factory.   If this is set to True (normally false by default), it will cause the Google Apps driver to interfere with the Groupwise 2014 driver.

Resolution:   Set Override JAXP Factory to false on the Google Apps driver, or run the Google Apps and Groupwise 2014 drivers on different servers.

Cause

A Google Apps driver is running on the same server, which was interfering with the class call by the Groupwise 2014 driver.