OdiSAPALEServer(SnpsSAPALEServer) Fails With 'java.lang.NoClassDefFoundError: com/sap/mw/jco/JCO$Server' Message
适用于:
Oracle数据集成器-版本:4.1.01.01往后版本【发布:4.1.01往后版本】
这个文件上的信息运用于任何平台。
症状
当试图建立一个ODI(sunopsis)包来接收从SAP R/3手动创建的一个特定程序调用的ODI(Sunopsis) OdiSAPALEServer(SnpsSAPALEServer)工具时,就会出现下面的报错信息:
java.lang.NoClassDefFoundError: com/sap/mw/jco/JCO$Server
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at com.sunopsis.dwg.function.SnpsFunctionBase.getSunopsisApi(SnpsFunctionBase.java)
问题的根源是什么?
原因
运行ODI(Sunopsis)并建立SAP的过程如下:
1. SAP会生成一个Idoc文件在一个特定的文件夹中。
2. OdiSAPALEServer(SnpsSAPALEServer)这个监听工具设置等待在一个特定的文件夹IDOC存在
3. IDOC文件一旦被发现OdiSAPLEServer(SnpsSAPALEServer)转换成一个XML文件,就会由ODI(Sunopsis)被任何其他的XML文件处理。
在本案例中所产生的问题是,SAP JCO程序安装不正确导致。
解决方案
确认这个程序是否正确安装,请运行如下命令:
java -classpath {sapjco-install-path}/sapjco.jar com.sap.mw.jco.About
JCO安装在Windows系统时包含如下三个文件:
* sapjco.jar
* librfc32.dll
* sapjcorfc.dll
如下信息可以查看一个SAP GUI运行程序是否已经安装在此工作站,
* the 2 DLLs may already exist in the system32 folder
* and they may not be present in the same version as those provided by SAP
一个新的安装这些文件可能是必要的。
该贴被masy编辑于2011-11-22 20:03:01