Corticon Server license

Whatever way you are deploying Corticon Server, you need to include your valid, active CcLicense.jar - Java web service installed directly or as a WAR file, .NET web service, Java in-process, or .NET in-process.

The basic Server license issues are as follows:

License not installed - The CcLicense.jar license file must be located in the same directory as your server installation's CcServer.jar file. In the default installation, CcServer.jar is located in [CORTICON_HOME]\Server\tomcat\webapps\axis\WEB-INF\lib, so ensure your valid license file is there.

Note: To update Corticon Server's license file for Java and .NET deployments, see the task for "Updating your Corticon Server License" in Procedures for upgrading Corticon installations
License Invalid - If your license indicates that it is invalid, contact your Progress Corticon representative to obtain a valid license file. You get a notification in the log similar to:
Corticon Server license has expired. Please contact Customer Support to receive a valid key.
License capacity exceeded - License capacity is measured in several ways:
  • Number of unique Decision Services that may run concurrently in Corticon Server. Make sure your license can support the total number of unique .erf files referenced by deployed .cdd files.
  • Number of rules allowed for all Decision Services deployed. Make sure your license can support the total number of rules contained in all the deployed .erf files.

Log files

When problems occur with Corticon Server, the primary troubleshooting tool is the set of log files produced during Corticon Server operation, whether as Studio test server or as deployed Server.

By default, Corticon Server produces one log that records all the activities of running Decision Services at the specified log level. While higher detail levels produce a more comprehensive basis for analysis, the details of all running Decision Services will also generate detail information into the log. When diagnosing problems, you might want to use Corticon Server's ability to generate logs for each Decision Service so that you can produce detailed logs for each service.

The following procedure shows how to set the Server log to capture additional information..

Note: Consider backing up and then deleting all the log files and archives in the \logs folder so that you get only what is logged from your tests under the log settings. It is good to start with a fresh logs that record only the problematic transactions. The next time Corticon Server processes a transaction, a new log file will be created and entries recorded in it.

Setting logging

See Configure logs for more information.

  1. Edit the installation's brms.properties file
  2. Change the loglevel to a level that should bring in the operational activities that will reveal the problem, perhaps DEBUG.
  3. Change logFiltersAccept to list activity elements that you think will be relevant.
  4. Save the file.
  5. Stop, then restart the server.

Setting logging for each Decision Service

See Log for each Decision Service for more information.

  1. Edit the brms.properties file.
  2. Change the value of com.corticon.server.execution.logPerDS to true.
  3. Save the file.
  4. Stop, then restart the server.

Examining log files

  1. Once you have restarted the server, rerun your tests.
  2. In a text editor, navigate to [CORTICON_WORK_DIR]\logs to open the appropriate current logfile: Studio's is CcStudio.log, Server's is CcServer.log, and individual Decision Service (DSname) logs are Corticon-DSname.log.
  3. Look for the indicators of problems that are described in the following sections.

Logs not created

Logging does not start until the server is invoked. Even though started, as viewed in its startup window, logs are not initialized until an activity occurs.

However, if you have routed a Corticon Request to the server and no log is produced, it is likely that the invocation/request is not even reaching the server. The most common causes of a non-responsive (invocation produces no log file entry) Corticon Server include:

  • Incorrect Corticon Server deployment. Review your deployment procedures to confirm the deployment files and paths.

  • Incorrect Corticon Server invocation
    • Incorrect URL - If using a web services deployment, ensure the SOAP message is addressed correctly, and that no firewalls or port configurations prevent the SOAP message from reaching Corticon Server.
    • Incorrect API - Review the APIs available for Corticon Server invocation.
      Note: See the complete Java Server JavaDocs in Studio and Java Server installations at [CORTICON_HOME]\JavaDoc.
  • Even though Corticon Server may not respond to an incorrect invocation, the host server or container (app server, web server, and similar) may respond either at a command line or log level. Check to see if the host server has responded to your invocation.

Response containing errors

The most common causes of erroneous Corticon Server responses include:

Problems with a request

Invalid syntax and misnamed targets are common problems with requests:

Poorly formed JSON request - Syntax errors in a JSON message generate an HTTP 500 error message in the web server window.

Message payload does not conform to service contract - Compare your message to the service contract to ensure compliance. Many third-party tools are available that automatically validate a document to its schema. Notice that if Corticon Server cannot even parse the inbound message, no entry will be made in Corticon Server's log. Instead, an error message is displayed.

Incorrect or missing Decision Service Name - Ensure the message's Decision Service Name attribute matches the name of the Decision Service as it was deployed by either a deployment descriptor file or an API method call.

Review Decision Service metadata

Corticon log files add metadata on each Decision Service as it is loaded so that you can confirm consistent loading of a Decision Service.

The metadata is recorded in the log for each Decision Service at every server startup, at every log rollover, and whenever a Decision Service is added, updated, or deleted.

Deployment Descriptor (.cdd) file problems

The following items are common Deployment Descriptor file problems:

Missing Deployment Descriptor (.cdd) file - The .cdd file is missing from the \cdd directory, or the taskname contained in the SOAP request message does not match any of the tasknames in any of the .cdd files deployed to Corticon Server. For example, the log might record:
... |ERROR|com.corticon.service.ccserver.exception.CcServerDecisionService.notRegisteredException:
CcServerDecisionService.lookupCcServerPoolForExecution () Decision Service:
OrderProcess is not registered. Update failed. (Missing pool manager)							
Missing \cdd directory - The default location of the cdd directory in a server installation is [CORTICON_WORK_DIR]\cdd. For example, the log might record:
java.rmi.RemoteException: Unexpected Error; nested exception is:
com.corticon.service.ccserver.exception.CcServerInvalidArgumnentException:
CcServer.loadDromCddDir (String)   Directory does not exist.							

Object translation errors due to incorrect Vocabulary external name mappings

  • External names mapped incorrectly
  • External data types specified incorrectly
  • ALL entities must be mapped, even those where all attributes are transient.