bsi_HEI_3 error whilst trying to use BS with OpenEdge

Hi

I’m having problems with getting my JDBC to be correctly used in a Bonitasoft installation (5.10.1).

So far I’ve downloaded and added the DataDirect JDBC for OpenEdgeProgress as per their instructions, including adding the CLASSPATH value to the server ( MS Windows 2008 R2 server).

I can open BS and invoke a test call within the Connector dialog boxes to quiz the server/database/table and extract the details I’m wanting, but when I try to use if on the desktop or server, it fails to work.

Here is the server log file for the problem - any pointers would be a great start - a fix even better.

Regards

Lawrence

Dec 11, 2013 4:25:14 PM org.ow2.bonita.runtime.model.ExecuteNode handleException
WARNING: Exception caught in process instance Test1–1.0–3
org.ow2.bonita.facade.exception.BonitaWrapperException: org.ow2.bonita.facade.exception.HookInvocationException: Bonita Error: bsi_HEI_3
Exception caught while executing Hook: org.bonitasoft.connectors.database.GenericJDBCConnector because com.ddtek.jdbc.openedge.OpenEdgeDriver

at org.ow2.bonita.definition.activity.ConnectorExecutor.executeConnector(ConnectorExecutor.java:629)
at org.ow2.bonita.definition.activity.ConnectorExecutor.executeConnectors(ConnectorExecutor.java:645)
at org.ow2.bonita.definition.activity.ConnectorExecutor.executeConnectors(ConnectorExecutor.java:737)
at org.ow2.bonita.runtime.TaskManager.ready(TaskManager.java:465)
at org.ow2.bonita.definition.activity.Task.executeBusinessLogic(Task.java:36)
at org.ow2.bonita.definition.activity.AbstractActivity.executeBody(AbstractActivity.java:1053)
at org.ow2.bonita.definition.activity.AbstractActivity.executeActivityInstance(AbstractActivity.java:610)
at org.ow2.bonita.definition.activity.AbstractActivity.startActivityInstance(AbstractActivity.java:605)
at org.ow2.bonita.definition.activity.AbstractActivity.execute(AbstractActivity.java:189)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.ow2.bonita.definition.activity.Task_$$_javassist_20.execute(Task_$$_javassist_20.java)
at org.ow2.bonita.runtime.model.ExecuteNode.perform(ExecuteNode.java:65)
at org.ow2.bonita.runtime.model.Execution.performAtomicOperation(Execution.java:447)
at org.ow2.bonita.runtime.model.Execution.performAtomicOperation(Execution.java:434)
at org.ow2.bonita.runtime.model.Execution.take(Execution.java:346)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.ow2.bonita.runtime.model.Execution_$$_javassist_2.take(Execution_$$_javassist_2.java)
at org.ow2.bonita.definition.activity.AbstractActivity.executeSplit(AbstractActivity.java:1162)
at org.ow2.bonita.definition.activity.AbstractActivity.end(AbstractActivity.java:647)
at org.ow2.bonita.definition.activity.AbstractActivity.signal(AbstractActivity.java:857)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:197)
at org.ow2.bonita.definition.activity.Task_$$_javassist_20.signal(Task_$$_javassist_20.java)
at org.ow2.bonita.runtime.TaskManager.finish(TaskManager.java:233)
at org.ow2.bonita.facade.impl.RuntimeAPIImpl.finishTask(RuntimeAPIImpl.java:409)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.ow2.bonita.facade.APIInterceptor$APIInterceptorCommand.execute(APIInterceptor.java:115)
at org.ow2.bonita.facade.APIInterceptor.invoke(APIInterceptor.java:183)
at com.sun.proxy.$Proxy21.finishTask(Unknown Source)
at org.ow2.bonita.facade.runtime.command.ServerWebExecuteTask.execute(ServerWebExecuteTask.java:114)
at org.ow2.bonita.facade.runtime.command.ServerWebExecuteTask.execute(ServerWebExecuteTask.java:45)
at org.ow2.bonita.facade.runtime.command.WebExecuteTask.execute(WebExecuteTask.java:64)
at org.ow2.bonita.facade.runtime.command.WebExecuteTask.execute(WebExecuteTask.java:31)
at org.ow2.bonita.facade.impl.CommandAPIImpl.executeCommand(CommandAPIImpl.java:78)
at org.ow2.bonita.facade.impl.CommandAPIImpl.execute(CommandAPIImpl.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.ow2.bonita.facade.APIInterceptor$APIInterceptorCommand.execute(APIInterceptor.java:115)
at org.ow2.bonita.services.impl.DefaultCommandService.execute(DefaultCommandService.java:44)
at org.ow2.bonita.runtime.tx.StandardTransactionInterceptor.execute(StandardTransactionInterceptor.java:45)
at org.ow2.bonita.services.impl.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.ow2.bonita.services.impl.RetryInterceptor.execute(RetryInterceptor.java:59)
at org.ow2.bonita.facade.APIInterceptor.invoke(APIInterceptor.java:187)
at com.sun.proxy.$Proxy18.execute(Unknown Source)
at org.bonitasoft.forms.server.api.impl.FormWorkflowAPIImpl.executeActionsAndTerminate(FormWorkflowAPIImpl.java:290)
at org.bonitasoft.forms.server.provider.impl.FormServiceProviderImpl.executeActions(FormServiceProviderImpl.java:659)
at org.bonitasoft.forms.server.FormsServlet.executeActions(FormsServlet.java:1097)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:569)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at org.bonitasoft.forms.server.FormsServlet.processCall(FormsServlet.java:123)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.bonitasoft.forms.server.filter.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:744)

Caused by: org.ow2.bonita.facade.exception.HookInvocationException: Bonita Error: bsi_HEI_3
Exception caught while executing Hook: org.bonitasoft.connectors.database.GenericJDBCConnector because com.ddtek.jdbc.openedge.OpenEdgeDriver

... 90 more

Caused by: java.lang.ClassNotFoundException: com.ddtek.jdbc.openedge.OpenEdgeDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.ow2.bonita.runtime.AbstractClassLoader.loadClass(AbstractClassLoader.java:150)
at org.ow2.bonita.runtime.VirtualCommonClassloader.loadClass(VirtualCommonClassloader.java:14)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at org.ow2.bonita.runtime.AbstractClassLoader.loadClass(AbstractClassLoader.java:150)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:270)
at org.bonitasoft.connectors.database.Database.(Database.java:36)
at org.bonitasoft.connectors.database.DatabaseConnector.executeConnector(DatabaseConnector.java:72)
at org.ow2.bonita.connector.core.Connector.execute(Connector.java:233)
at org.ow2.bonita.connector.core.Connector.execute(Connector.java:377)
at org.ow2.bonita.definition.activity.ConnectorExecutor.executeConnector(ConnectorExecutor.java:163)
at org.ow2.bonita.definition.activity.ConnectorExecutor.executeConnector(ConnectorExecutor.java:544)
… 89 more

THe JDBC driver JAR wasn’t in the right folder of the server… all fixed now

Hi.

When you say "on the desktop or server, it fails to work" you mean that you are compiling a BAR file to use it out of your development environment?

I'm trying it on my desktop machine, and also then exporting it as a BAR file to the server.

This is all on 'fresh' installations of Bonitasoft, JDK, and the JDBC files on both machines, so apart from the underlying OS (Win 7 Ent / Win 2008 R2) the installations are as close as they can be.

I think I'm missing some part of the setup on the Bonitasoft software to create the right links to the JDBC driver somewhere. Any ideas?

Lawrence