I fixe that issue by adding a higher version of log4j jar (log4j-1.2.14.jar) but another exception is caused by this function I use to retrieve WEBI reports :
try { tx = session.beginTransaction(); report = (ReportTree) session.createQuery( "from ReportTree where cuid ='" + pCuid + "' and lower(pUser)=lower('" + pUser + "')") .uniqueResult(); tx.commit(); session.clear(); session.flush(); } catch (Exception e) { if (tx != null) { e.printStackTrace(); tx.rollback(); }
The exception is caused by red line.
This is the exception :
Exception in thread "Thread-6" java.lang.NoClassDefFoundError: com/businessobjects/log/Logger
at com.businessobjects.rebean.factory.OCCAReportEnginesFactory.<clinit>(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.crystaldecisions.sdk.occamgr.internal.DefaultOCCAFactoryResolver.getOCCAFactory(DefaultOCCAFactoryResolver.java:79)
at com.crystaldecisions.sdk.occamgr.internal.OCCAMgr.getOCCAFactory2(OCCAMgr.java:109)
at com.crystaldecisions.sdk.framework.internal.EnterpriseSession.getService_aroundBody14(EnterpriseSession.java:338)
at com.crystaldecisions.sdk.framework.internal.EnterpriseSession.getService(EnterpriseSession.java:1)
at com.crystaldecisions.sdk.framework.internal.EnterpriseSession.getService_aroundBody16(EnterpriseSession.java:364)
at com.crystaldecisions.sdk.framework.internal.EnterpriseSession.getService_aroundBody17$advice(EnterpriseSession.java:512)
at com.crystaldecisions.sdk.framework.internal.EnterpriseSession.getService(EnterpriseSession.java:1)
at com.sqli.Utils.Connexion.getReports(Connexion.java:128)
at com.sqli.UI.PanGUI$6.run(PanGUI.java:882)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: com.businessobjects.log.Logger
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
... 15 more