Troubleshooting Integration Errors

Anne Ramey

Which Integration is it?

The first thing you need to do when troubleshooting an integration error is to understand what integration it is. This will help you know where to look for the issue. Were you making a direct ajax call to something? Were you loading a subform? Were you loading/working with a bridge? Are you working with a webhook?

  • Issues with ajax calls could be in the application log or in the log of the system being contacted.
  • Issues loading subforms will likely be in the application log
  • Issues with bridges will be in the application log, the bridgehub log, or both, depending on the error
  • Issues with webhooks will be in the webhooks jobs interface.

Application Log

The application log is available under Space -> Logs and is the first stop if you are having any issue where you aren't sure of the cause. This will likely have some kind of error logged. Note that there are multiple log levels available for this log, so

  • you may need to turn up logging to see what you need to see
  • when logging is turned all the way up there is a lot of information in this log

The application log is in the following format [timestamp] [log level] [thread] [message]

Example 2018-11-07 23:15:08,515 DEBUG [pool-1-thread-2 ] - Processing the Signature Authentication Strategy. 2018-11-07 23:15:08,515 DEBUG [pool-1-thread-2 ] - Adding the body content to the webhook request.

The exception to this format is when an error occurs. It is followed by a stack trace, and those lines don't have all the same format. They are considered part of the previous message/line. Example: 2018-11-07 23:15:08,650 ERROR [pool-1-thread-2 ] - Unable to log completion information about webhook job "f7ef9524-e2e2-11e8-a45f-797b483313dd". java.lang.RuntimeException: Unexpected parent type: Datastore Submission at com.kineticdata.core.services.standard.StandardWebhookJobService.getParentReference(StandardWebhookJobService.java:269) at com.kineticdata.core.workers.WebhookJobRunnable.complete(WebhookJobRunnable.java:141) at com.kineticdata.core.workers.WebhookJobRunnable.execute(WebhookJobRunnable.java:112) at com.kineticdata.core.workers.WebhookJobRunnable.run(WebhookJobRunnable.java:63) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748)

Bridgehub Logs

The bridgehub logs contain all of the logs for the bridge connections through bridgehub. This log follows the same format as the application log. It will have all of the actual API calls made by the bridge with the parameters listed. This is a good place to check if things seem to be working but you are unsure the parameters getting passed are correct (because the results don't look right). This will also show any connection errors and a count of found records for queries.

Webhook Jobs

In every part of the platform where there are webhooks, there is also a "Jobs" section. This is where the executed instances of the webhooks and any of the their errors live.

jobsList

Clicking on the Summary of a job will bring up it's details:

JobDetails

Part of the details is the server response, which should contain any detail about the failure. If there isn't enough detail there to figure out the issue, you can check the log on the receiving system.