probelms and solution to start the BEL server

97 views
Skip to first unread message

Christian Ebeling

unread,
Jul 31, 2014, 10:13:27 AM7/31/14
to openbel...@googlegroups.com
Hi everyone,

I'm new with BEL and tried to start the BEL server on Linux. I have downloaded the OpenBEL_Framework-2.0.0 and the OpenBEL_Framework-3.0.0 from https://github.com/OpenBEL/openbel-framework/downloads

OpenBEL_Framework-2.0.0

Problem:

If I start with the  OpenBEL_Framework-2.0.0 server with StartServer.sh everything seems to be OK. But if I call the WSDL http://localhost:8080/openbel-ws/belframework.wsdl I get a 404
In the log files of tomcat catalina.out I found the following message:
java.sql.SQLException: Failed to start database '/pathToYourBelHomeFolder/.belframework/database/KAMStore' with class loader org.apache.catalina.loader.StandardClassLoader@4dc3fd59, see the next exception for details.

Solution:

I deleted the ~/.belframework/ with rm -r.
After restarting the server it was running and http://localhost:8080/openbel-ws/belframework.wsdl available. Perhaps the problem was that I started the server before in the OpenBEL_Framework-3.0.0 environment.

OpenBEL_Framework-3.0.0

As I learned from the problem before I firstly deleted the ~/.belframework folder

Problem:
If I started the server with ./start-server.sh I get the following error message. This is a bash syntax error in the
./start-server.sh: Zeile 14: export: `=8080': Ist kein gültiger Bezeichner.

Solution:

changes:
1.
export $TOMCAT_HTTP_PORT=8080
to:
export TOMCAT_HTTP_PORT=8080

2. add
export BELFRAMEWORK_HOME=`pwd`
to the script before the line
${BELFRAMEWORK_HOME}/server/tomcat/bin/catalina.sh start

Start the server again. This is running :-)

Best regards
Christian Ebeling
Fraunhofer Institute for Algorithms and Scientific Computing (SCAI)
Department of Bioinformatics
Schloss Birlinghoven

William Hayes

unread,
Jul 31, 2014, 10:17:48 AM7/31/14
to openbel...@googlegroups.com
Thanks for sharing!

--
You received this message because you are subscribed to the Google Groups "openbel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openbel-discu...@googlegroups.com.
To post to this group, send email to openbel...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/openbel-discuss/9f2a4f13-1775-455c-99e1-a2ea1e29963e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Message has been deleted

Christian Ebeling

unread,
Aug 1, 2014, 8:25:01 AM8/1/14
to openbel...@googlegroups.com
Update: Another change was necessary. With the changes above the wsdl only loads once and the server crashes. In the server/tomcat/logs/catalina.out we found the reason:
Aug 01, 2014 1:23:36 PM org.apache.jk.common.ChannelSocket init
INFO: Port busy 8009 java.net.BindException: Address already in use

In server/tomcat/conf/server.xml we changed
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
to an other port
<Connector port="8099" protocol="AJP/1.3" redirectPort="8443" />

William Hayes

unread,
Aug 1, 2014, 8:29:45 AM8/1/14
to openbel...@googlegroups.com
Hi Christian,

Could you do a pull request with the changes you find are necessary?  We could also add you as a contributor if you are interested.

Cheers,

Wm

From: Christian Ebeling <chr.e...@gmail.com>
Reply-To: "openbel...@googlegroups.com" <openbel...@googlegroups.com>
Date: Friday, August 1, 2014 at 8:25 AM
To: "openbel...@googlegroups.com" <openbel...@googlegroups.com>
--
You received this message because you are subscribed to the Google Groups "openbel-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to openbel-discu...@googlegroups.com.
To post to this group, send email to openbel...@googlegroups.com.

Anthony Bargnesi

unread,
Aug 1, 2014, 9:57:06 AM8/1/14
to openbel...@googlegroups.com
Christian,

This is likely an incompatibility between bash versions.

What version of bash are you using? Try /bin/bash --version to get it.

Thanks!
Anthony Bargnesi
OpenBEL Engineer

Anthony Bargnesi

unread,
Aug 1, 2014, 10:11:00 AM8/1/14
to openbel...@googlegroups.com
Yes this is correct. It seems to run multiple instances of OpenBEL server you will need to adjust the AJP protocol port (e.g. 8009) and also disable the server shutdown port (e.g. 8005).

You can disable the server shutdown port in server/tomcat/conf/server.xml with:

<Server port="-1">

There is a potential here to extend the start-server (backgrounded) and run-server (foregrounded) scripts to support multiple instances. Keep in mind that you will still have the issue of a single JVM lock on the default database (Apache Derby). See this page on the wiki.

Hope that helps.

Anthony Bargnesi
OpenBEL Engineer

Irina Roznovat

unread,
Jul 23, 2015, 10:59:40 AM7/23/15
to openbel-discuss, chr.e...@gmail.com
Hello everyone,

As Christian last year, I am new with OpenBEL and tried to work with OpenBEL Framework 2.0.0, following the steps mentioned at http://wiki.openbel.org/display/BFD/Getting+Started+-+Getting+Started+Guide 

Specifically, after unarchiving the OpenBEL archive, I run StartServer.sh and everything seems fine, with the following 3 messages:

OpenBEL_Framework iroznovat$ ./StartServer.sh
Using CATALINA_BASE:  ~/OpenBEL/OpenBEL_Framework/server/tomcat
Using CATALINA_HOME:   ~/OpenBEL/OpenBEL_Framework/server/tomcat
Using CATALINA_TMPDIR: ~/OpenBEL/OpenBEL_Framework/server/tomcat/temp
Using JRE_HOME:        /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
Using CLASSPATH:       ~/OpenBEL/OpenBEL_Framework/server/tomcat/bin/bootstrap.jar
BEL Server successfully started. Default url is http://localhost:8080/
    WebAPI is available. Default url is http://localhost:8080/openbel-ws/
    WebAPI WSDL is available. Default url is http://localhost:8080/openbel-ws/belframework.wsdl

However, when going to http://localhost:8080/openbel-ws/, I got error 405. In addition, nothing is shown at http://localhost:8080/ ; and a css file is shown at http://localhost:8080/openbel-ws/belframework.wsdl .
I found this post here about an issue while starting the server and based on those solutions, I removed the belframework folder within server/tomcat/temp, but the issue is still there.

I set the BELFRAMEWORK_HOME (env. variable) to the OpenBEL folder, but there is the same situation.  I am not sure whether I should change something else in e.g. the config file etc.  Please see below the logs from catalina.out file from a start/stop server cycle; the belframework folder was deleted before calling StartServer.sh.

I am using a Mac Air/Pro machines, java 1.7, but I have also tried on a Windows 8 machine, java 1.8 and there is the same issue.


=========

Logs from catalina.out file:

Jul 22, 2015 2:04:00 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java
Jul 22, 2015 2:04:00 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host} Setting property 'debug' to '0' did not find a matching property.
Jul 22, 2015 2:04:00 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Jul 22, 2015 2:04:00 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 388 ms
Jul 22, 2015 2:04:00 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Jul 22, 2015 2:04:00 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
Jul 22, 2015 2:04:00 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive openbel-ws.war
Wed Jul 22 14:04:01 CEST 2015 Thread[main,5,main] java.lang.ClassNotFoundException: org.openbel.framework.common.enums.DatabaseType
----------------------------------------------------------------
Wed Jul 22 14:04:01 CEST 2015:
Booting Derby version The Apache Software Foundation - Apache Derby - 10.7.1.1 - (1040133): instance a816c00e-014e-b5a6-26b0-0000045437a8
on database directory /Users/iroznovat/.belframework/database/KAMStore  with class loader org.apache.catalina.loader.StandardClassLoader@1d3c468a
Loaded from file:/Users/iroznovat/Documents/EISBM/A_Postdoc/OpenBEL/OpenBEL_Framework/server/tomcat/lib/derby-10.7.1.1.jar
java.vendor=Apple Inc.
java.runtime.version=1.6.0_65-b14-466.1-11M4716
WARNING: The database was at least at one time booted with derby.system.durability=test. As a result of this mode being used, it is possible that the database may not be able to recover, committed transactions may be lost, and the database may be in an inconsistent state. This may cause unexpected errors.

Database Class Loader started - derby.database.classpath=''
Jul 22, 2015 2:04:05 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Jul 22, 2015 2:04:05 PM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Jul 22, 2015 2:04:05 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/15  config=null
Jul 22, 2015 2:04:05 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 5248 ms
Jul 22, 2015 2:05:39 PM org.apache.coyote.http11.Http11Protocol pause
INFO: Pausing Coyote HTTP/1.1 on http-8080
Jul 22, 2015 2:05:40 PM org.apache.catalina.core.StandardService stop
INFO: Stopping service Catalina
Jul 22, 2015 2:05:40 PM org.apache.coyote.http11.Http11Protocol destroy
INFO: Stopping Coyote HTTP/1.1 on http-8080

========

Could you please help me with this issue?

Thank you.

Best regards,
Irina Roznovat

Anthony Bargnesi

unread,
Jul 24, 2015, 6:40:16 AM7/24/15
to openbel-discuss, chr.e...@gmail.com, riqa...@gmail.com
Irina,

The behavior and log output you are experiencing is normal.

The openbel-ws application exposes a SOAP API server which you can only interact with using HTTP POST. The 405 Method Not Allowed response is in response to an HTTP GET (likely in the browser).

I am curious of the content returned by http://localhost:8080/openbel-ws/belframework.wsdl. The response should be an XML file that represents the SOAP API description. Can you post the content you receive in the browser for that URL?

Additionally you may want to install the 3.0.0 version of the framework as it contains Web API bugfixes and enhancements.

Thanks,

Anthony Bargnesi

Irina Roznovat

unread,
Jul 24, 2015, 8:23:27 AM7/24/15
to Anthony Bargnesi, openbel-discuss, chr.e...@gmail.com
Dear Anthony,

Many thanks for your prompt reply. Please see the attached fle that contains the xml file located at http://localhost:8080/openbel-ws/belframework.wsdl .

Best regards,
Irina
belframework.wsdl.xml

Anthony Bargnesi

unread,
Jul 24, 2015, 8:47:05 AM7/24/15
to openbel-discuss, chr.e...@gmail.com, riqa...@gmail.com
Irina,

Thanks. This file is indeed the XML description of the OpenBEL Web API.

A WSDL (Web Services Description Language) XML file states the types and services available from a web service like the OpenBEL Web API. You can use the org.openbel.framework.ws.model Java library to connect your application to the OpenBEL Web API. There are also many tools (in different computer languages) that allow you to use the API with only the WSDL link (i.e. Savon (ruby), PySimpleSOAP (python)).

Also, the KAM navigator Cytoscape application is a good example of an application that connects to the OpenBEL Web API using the WSDL link.

Hope this helped. Thanks!

Anthony Bargnesi
Reply all
Reply to author
Forward
0 new messages