I plan to use BPEL for a project and I try to start learning by creating a simple example following tutorials (I have found this and this) and using the examples provided in the release. However, I have not been able to make anything to work, neither the small example created by me nor the examples provided. I installed Apache Ode by placing its war file in the /var/lib/tomcat/webapps directory. I have placed the examples in the /var/lib/tomcat/webapps/ode/WEB-INF/processes folder and the bin folder in tomcat/webapps/ode. When I try to call the examples following the instructions in the readme file:
sendsoap http://localhost:8080/ode/processes/helloWorld testRequest.soap
I get the error:
Error: Could not find or load main class org.apache.ode.tools.sendsoap.cline.HttpSoapSender
Regarding the browser interface, ODE main page loads (http://localhost:8080/ode/#/) but does not recognize any service or process.
I have reinstalled ODE following @Sathwik's instructions in the comment below. When restarting tomcat, I get the following information on the catalina log (I have only included the lines regarding ode), that alerts about a probable memory leak:
19-Jan-2018 10:38:43.972 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [ode] registered the JDBC driver [org.apache.derby.jdbc.AutoloadedDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
19-Jan-2018 10:38:43.973 WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [ode] appears to have started a thread named [Timer-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
java.lang.Object.wait(Native Method)
java.util.TimerThread.mainLoop(Timer.java:552)
java.util.TimerThread.run(Timer.java:505)
19-Jan-2018 10:38:43.973 SEVERE [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.checkThreadLocalMapForLeaks The web application [ode] created a ThreadLocal with key of type [java.lang.ThreadLocal] (value [java.lang.ThreadLocal@409a18d]) and a value of type [org.apache.derby.iapi.services.context.ContextManager] (value [org.apache.derby.iapi.services.context.ContextManager@33b194b]) but failed to remove it when the web application was stopped. Threads are going to be renewed over time to try and avoid a probable memory leak.
19-Jan-2018 10:38:45.302 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/var/lib/tomcat8/webapps/ode.war]
19-Jan-2018 10:38:56.788 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deployment of web application archive [/var/lib/tomcat8/webapps/ode.war] has finished in [11,485] ms
I checked my older logs (when I was experiencing the problem in this question but had not yet reinstalled) and the output was different:
18-Jan-2018 16:23:51.645 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/var/lib/tomcat8/webapps/ode]
18-Jan-2018 16:23:54.631 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/var/lib/tomcat8/webapps/ode] has finished in [2,985] ms
I am using ODE 1.3.7, tomcat8 and Ubuntu 17.10. Is there a problem with the location of the examples or with ODE dependencies? What should be done to avoid the memory leak mentioned in the log? Should, at least, the example processes be listed in the web interface, as suggested by the tutorials?