IBM Worklight 6.1 - Project fails to initialize be

2019-02-20 03:07发布

问题:

I got the following error message when I try to deploy my .war file to the application server:

Error 500: javax.servlet.ServletException: Worklight Console initialization failed.Logged Exception: java.lang.RuntimeException: FWLSE0206E: The project /rmbp failed to initialize, because the project database schema for data source jdbc:db2://192.168.1.80:50001/APPCNTR is from version N/A, which is not supported by the server from version 6.1.0.00.20131126-0630. Use the Worklight ant tasks to upgrade the project database schema. [project rmbp]

I already doing some research and ask IBM's about our issue as wellas reviewed the following similar question: IBM Worklight 6.1 - Unable to initialize the project due to DB2 error

回答1:

It looks like you try to install a Worklight runtime to the APPCNTR database. This database is used for Application Center and is not related to the Worklight runtime database that is called WRKLGHT.

How do you install your Worklight war file : with the server configuration tool, the deployment ant scripts (that can be found in the configuration-samples directory of the Worklight installation) or manually ?

See http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/index.jsp?topic=/com.ibm.worklight.deploy.doc/devref/r_ant_tasks_configure_dbs.html that explains how to configure the Worklight runtime database and deploy a Worklight runtime war file.



回答2:

The error message looks pretty clear to me. You seem to have upgraded your Worklight installation, but did not upgrade the database scheme used for Application Center.

You need to consult with the IBM Worklight Information Center.

  • Upgrading to Worklight Server V6.1.0 in a production environment

You do not mention how did you upgrade your installation to v6.1.0, nor what did you do. So take a look at the following topic as well regarding database upgrade, since as mentioned it looks like your DB2 database scheme for the APPCNTR database did not take place:

  • Manually upgrading the Worklight Server V6.1.0 databases


回答3:

Have you create a jdbc connection in your Websphere Application Server? It will be needed by the application inside the WAR file to connect to the database.

If you have done it, you can check inside your WAR file and look for web.xml file in WEB-INF/ folder. In my case I found a jdbc hardcoded inside the file, for example:

<resource-ref>
  <description>Worklight Server Database</description>
  <res-ref-name>jdbc/WorklightDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

<resource-ref>
  <description>Reports Database</description>
  <res-ref-name>jdbc/WorklightReportsDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

You can rename those hardcoded file into the same name of the jdbc that you created in you WAS.


For the database issue, you can follow this link to use ant for DB creation.

http://pic.dhe.ibm.com/infocenter/wrklight/v6r1m0/index.jsp?topic=/com.ibm.worklight.deploy.doc/devref/r_ant_tasks_configure_dbs.html

If you follow the 1st ant script for DB2 creation which will have two different databases, you need to create the new user for this line if you haven't done so. Because as you can see, in the xml script, user and password will be needed to create the WRKLGHT database. For example:

<db2 database="WRKLGHT" server="proddb.example.com"
       user="wl6admin" password="wl6pass">

If you use non-default port for your DB2 connection, you can add on your port number parameter after the server parameter. For example:

port="50001"


For user creation, u can follow this link:

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/index.jsp?topic=%2Fcom.ibm.db2.luw.qb.server.doc%2Fdoc%2Ft0006742.html