Exception: Exception in thread "main" java.lang.ExceptionInInitializerError: JCO.classInitialize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC' JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [C:jcosapjcorfc.dll: Can't find dependent libraries]. java.library.path [C:WINDOWSSystem32;C:WINDOWS;c:devjco] at com.sap.mw.jco.JCO.<clinit>(JCO.java:735)
Cause: This exception occurs when the RFC dynamic link library, librfc32.dll, cannot be found in the system path i.e. c:windowssystem32. This is an issue specific to the Windows platform, as the functions contained in librfc32.dll have been added to a different library on other platforms. As such, there is no librfc32.dll in the UNIX world.
Resolution: Extract librfc32.dll from JCo archive and copy it to the C:WindowsSystem32 directory. This file must be found somewhere within the system path. Because other SAP applications, such as SAPGUI, install versions of librfc32X.dll into C:WindowsSystem32, it is best to install the JCo version into that directory, as well.
TROUBLESHOOTING JCO EXCEPTIONS
Scenario 1: JCo is unable to find the RFCDSK API library in the system path
Scenario 2: JCo is unable to find the JCORFC library in the system path
Scenario 3: JCo cannot load its RFC middleware layer (3 exceptions)
Scenario 4: JCo finds the wrong version of the librfc library
Scenario 5: JCo exceeds the number of SAP-allocated work processes
Scenario 6: Installing/porting JCo to other operating systems
Review: Conclusion and more resources
This was first published in June 2005