cancel
Showing results for 
Search instead for 
Did you mean: 

JCO Problem

Former Member
0 Kudos

Hi.

I have followed the installation procedure for JCO in Solaris as mentioned in the docs. I am writing a Custom Adapter Module for XI wherein I need to make a JCO connection to an ISU table. Everything works fine in my local machine (Windows NT) but the code does not work from the XI box (Sun Solaris).

There is one thing worth mentioning here. I tried to run a sample java code in the XI box itself. It could be run only with the option

java -classpath .:$CLASSPATH sampleJco

Any help is greatly appreciated.

Thanks!

Anindita

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

As you must have noticed, running it on windows machine requires the two dlls , what are the corresponding files that you need on solaris? moreover, are those files on the PATH?

one thing i would like to mention is if you want to connect to a ISU table from within XI and use the value retrieved to alter the payload then you should make use of Mapping lookup feature.Offcourse if it is about validation and rejection of the incoming data at the adapter module lelel itself, then you are on the correct path.

Former Member
0 Kudos

Hi Amol.

They are .so files corresponding to the .dll files in the Windows machine. I have included that path in the LD_LIBRARY_PATH and set the CLASSPATH as mentioned. But I have nothing in PATH

This is about validation and as you mentioned, about rejecting the file if the file fails validation

Thanks!

Former Member
0 Kudos

In that case if you provide with the stack trace of the error then may be we can help you.

Former Member
0 Kudos

I do have a printStackTrace in my code but I don't know where to look for the stack trace. Can you please tell me?

Former Member
0 Kudos

usr/sap/… /.../j2ee/cluster/server0/log

will have a defaultTrace file. It will contain the printstacktrace o/p.

Former Member
0 Kudos

The exception's stck trace

[EXCEPTION]

com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback.

at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0.process(ModuleLocalLocalObjectImpl0.java:118)

at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:252)

at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)

at com.sap.aii.adapter.file.File2XI.send(File2XI.java:3125)

at com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1299)

at com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:650)

at com.sap.aii.af.service.scheduler.JobBroker$Worker.run(JobBroker.java:450)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

Caused by: java.lang.NoClassDefFoundError

at jco.sampleJCO.process(sampleJCO.java:67)

at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0.process(ModuleLocalLocalObjectImpl0.java:103)

... 10 more

It looks like a NoClassDefFoundError.

Any clue?

Former Member
0 Kudos

I had missed this exception too:

[EXCEPTION]

com.sap.engine.services.ejb.exceptions.BaseTransactionRolledbackLocalException: Exception thrown in method process. The transaction is marked for rollback.

at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0.process(ModuleLocalLocalObjectImpl0.java:118)

at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:252)

at com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process(ModuleProcessorLocalLocalObjectImpl0.java:103)

at com.sap.aii.adapter.file.File2XI.send(File2XI.java:3125)

at com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1299)

at com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:650)

at com.sap.aii.af.service.scheduler.JobBroker$Worker.run(JobBroker.java:450)

at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)

at java.security.AccessController.doPrivileged(Native Method)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)

Caused by: 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 [no sapjcorfc in java.library.path]. java.library.path [/usr/j2se/jre/lib/sparcv9/server:/usr/j2se/jre/lib/sparcv9:/usr/j2se/jre/../lib/sparcv9:/usr/sap/XD1/DVEBMGS03/j2ee/os_libs:/usr/sap/XD1/SYS/exe/run:/usr/sap/XD1/SYS/exe/runU:/usr/lib:/usr/sap/XD1/DVEBMGS03/j2ee/os_libs:/usr/sap/XD1/DVEBMGS03/j2ee/os_libs:/usr/sap/XD1/SYS/exe/run:/usr/sap/XD1/SYS/exe/runU]

at com.sap.mw.jco.JCO.<clinit>(JCO.java:776)

at jco.sampleJCO.process(sampleJCO.java:67)

at com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl0.process(ModuleLocalLocalObjectImpl0.java:103)

... 10 more