10.3 Error DestinationDataProvider Already Registered

The error DestinationDataProvider already registered occurs, if you are running an SAP HR driver for JCo 3 and an SAP User Management driver for JCo 3 on the same Metadirectory engine.

The fix is to run the SAP HR driver and the SAP User Management driver with the Remote Loader. Each driver can register as a separate instance in JCo when the drivers are running with the Remote Loader. If the drivers are running locally, JCo uses the same instance for the drivers and that is what causes the error.

Here is a sample of the error:

DirXML Log Event -------------------
     Driver:   \IDMDT-RRGIRISH\n\test\SAP-HR
     Status:   Error
     Message:  Code(-9010) An exception occurred:
java.lang.IllegalStateException: DestinationDataProvider already registered
[com.novell.nds.dirxml.driver.sapumshim.RFCJCoDestinationProvider]
    at
com.sap.conn.jco.rt.RuntimeEnvironment.setDestinationDataProvider(RuntimeEnvironment.java:132)
    at
com.sap.conn.jco.ext.Environment.registerDestinationDataProvider(Environment.java:216)
    at
com.novell.nds.dirxml.driver.SAPHRShim.BapiCommon.registerJCOProviders(BapiCommon.java:509)
    at
com.novell.nds.dirxml.driver.SAPHRShim.SAPDriverShim.init(SAPDriverShim.java:110)
    at com.novell.nds.dirxml.engine.Driver.startShim(Driver.java:1314)
    at com.novell.nds.dirxml.engine.Driver.initialize(Driver.java:260)
    at com.novell.nds.dirxml.engine.Driver.<init>(Driver.java:232)
    at com.novell.nds.dirxml.engine.DriverEntry.run(DriverEntry.java:551)
    at java.lang.Thread.run(Thread.java:619)