Troubleshooting

 I am not able to view the log-on screen for Canvas Studio or the ModelHouse application

There could be several reasons for this issue. Some of those are:

  • Ensure that all the Canvas schema scripts have been executed successfully. The scripts are dependent on the credentials given in the ‘config.txt’ file.
  • Connect to each Canvas schema (MODEL, EXPERT, and WIZARD) in the Oracle SQL Developer and check if you are able to view the tables.
  • Ensure the correct schema name and password, port number, and Oracle SID are specified in the respective app/web server configuration. Such configurations in Tomcat server are in the 'server.xml' that is located in the Tomcat folder, e.g. D:\Canvas\apache-tomcat-7.0.67\conf\server.xml.

    server.xml file configuration

  • Stop and restart the Tomcat server and check if you are able to connect to Canvas applications.
 I created a new app in Canvas Studio and have mapped it to a workspace, but I am not able to view that in the application

Perform the following steps:

  1. Logout of the application and log-on again to see if the new changes are visible.
  2. If not, clear the cache using the following URL in the address bar of the browser:

    http://<hostname>:<port number>/expertctstudio/cacheReset.jsp
    
    # For example,
    http://localhost:9080/expertctstudio/cacheReset.jsp
  3. Clear the cookies and history in the browser.
  4. Stop and restart the web/app server.
  5. Access the application. You must be able to view the changes done in Canvas Studio.
 Widget does not display data though the referenced table contains data

Scenario: I created a grid view configured with a SQL Map and default instruction class. I had mapped the view to an app, which in turn is mapped to a workspace. However, in the application (e.g. CT ModelHouse), the app (widget) is empty and does not display any data even though the table that is referred in the SQL Map does contain data.

Try all of the following steps:

  • Ensure that the SQL Map ID is correct in the configuration screens in Canvas Studio as defined in the SQL XML file.
  • Ensure minimum one column from the table is selected as a sortable indicator in the configuration for the view in Canvas Studio.
  • Ensure that the view items ID (columns) of the grid in the Canvas Studio configuration screen are exactly the same as the column names in the table.

    Column names and View Item IDs

  • Ensure that the column names and table names in the SQL Map query are the same as in the database schema.

    If you are using Data Source instead of SQL Map, ensure that the column names and table name given in the Data Source configuration screen in Canvas Studio are same as in the database schema.


    Table column names and Datasource columns

  • If all the above fails, clear the cache for Canvas Studio and the application. Clear the browser cookies. Access the application to check if the widget is displayed with the data from the table.
 Entire application is working except forms. All widgets are working except for forms.
  1. Check for exceptions in server and db log and act on it. 
  2. Check if there is entry for the application in APPLICATION_MASTER table.

    In Canvas 20.x.x.x, the entry for Application ID should be available in both CanvasApplicationContext.json as well as in APPLICATION_MASTER.
 Which errors can be ignored in the CT logs?

Following error patterns can be ignored:

1.
[com.intellectdesign.canvas.validator.ValidationXMLParser][ERROR]
	 {[CTVAL00045]:Caught Exception in ParserWrapper.java. Method: 
		public ArrayList validateMessage(String $vType, String $fileName) throws ValidationException}
com.intellectdesign.canvas.exceptions.common.BaseException: 
		The resource provided 'SOME_PATH/req_modelerform_REQUEST_MODEL_ID_APPLICATION_PATH.xml' cannot be loaded 
		from classpath as well as file system
2.
CTFDF00035 [com.intellectdesign.canvas.formdefinition.handler.PictureProcessHandler][ERROR]
	 {[CTFDF00035]:Error while Reading from file 'Default.png'}
3.
CTRND00433 [com.intellectdesign.canvas.syncaction.SyncActionHelper][ERROR]
	 {[CTRND00433]:A Base Exception for moduleID 'SOME_MODULE_ID' for action 'SYNC_METADATA'.
		 This may be ignored as applications can choose to skip certain modules.}
4.
java.util.ConcurrentModificationException
	at java.util.ArrayList.sort(ArrayList.java:1464)
	at java.util.Collections.sort(Collections.java:175)
	at com.intellectdesign.canvas.viewdefinition.ViewDefinition.getViewDefinitionAsMap(ViewDefinition.java:168)
 How to turn off scheduler when reporting capability in CT Platform is not used?

To turn off the scheduler when the reporting capability in CT Platform is not needed, remove the value of the CT_INFO_REPORT_BUNDLE key in the CT configuration file (.properties file) in the application resources JAR inside the application WAR.

CT_INFO_REPORT_BUNDLE = 
 What to do when multiple notifications are sent instead of one?

Multiple emails get triggered even though only one entry in the table (OD_PENDING_MAIL) from where CT picks up records to be sent as email. In such cases refer these kind of errors found in the SystemOut.log (WebSphere log).

  • WTRN0006W: Transaction {0} has timed out after {1} seconds

    For example:

     WTRN0006W: Transaction 00000188D7CBD648000000455D953708CCA97D4013E3EDB45FD179E3597A7D478393378300000188D7CBD648000000455D953708CCA97D4013E3EDB45FD179E3597A7D478393378300000001 has timed out after 120 seconds

    Solution: Increase the total transaction lifetime timeout and maximum translation timeout in seconds. These settings can be updated through the WebSphere Application Server console, using Servers > Server Types > WebSphere application servers > server_name > [Container Settings] Container Services > Transaction Service

  • WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@1f5b7ee3. The error code was XAER_RMERR.

    Solution:
    Run the following commands as user SYS:
    grant select on pending_trans$ to <user>;
    grant select on dba_2pc_pending to <user>;
    grant select on dba_pending_transactions to <user>;
    grant execute on dbms_system to <user>;  //If using Oracle 10.2.0.3 or lower JDBC driver
    grant execute on dbms_xa to <user>; //If using Oracle 10.2.0.4 or higher JDBC driver

    In the above commands, <user> is the username configured in the Oracle datasource's authentication alias.

    Reference link : https://www.ibm.com/support/pages/exception-occurs-during-recovery-oracle-database-transactions

Check out other queries in App Development.