Miscellaneous

The following troubleshooting tips pertain to scenarios not covered in other sections.

My connections are not released after I stop using the Java library or REST API

A connection created through the REST API is not released until it is deleted or its messaging context expires. If a connection is created through the Java library, and the client that created it crashes without invoking its close() method, the connection will not be released until its timeout has expired. Ensure that you always delete or close connections when they are no longer in use.

Refer to the following methods for controlling a connection's timeout in the Java library:

I am receiving the error message "Missing or incorrect X-OC-ID-TOKEN"

You must send the X-OC-ID-TOKEN header on every HTTP request to the REST API. You may also disable the checking of this token. See Understanding Anti-CSRF Measures.

I am receiving an error stating that my service instance does not have any available connections

Ensure that your connections are being used effectively by storing and sending the JSESSIONID cookie with the REST API and closing connections from the Java library. Delete any unneeded message push listeners. You may also opt to buy more connections.

I am getting a "404 Not Found" response when I try to access connections, sessions, producers, consumers, or queue browsers that I just created

Be sure to store the JSESSIONID cookie sent in HTTP responses and send it back in subsequent responses. If you do not do this, connections, sessions, producers, consumers, and queue browsers created by previous requests will be inaccessible by subsequent responses.

Check the value of the Maximum Inactive Interval (MII) to ensure that your REST API messaging context is not expiring before you use it. The default value of the MII is 5 minutes, and it can be set to at most 15 minutes. If your application needs to create and hold messaging contexts through the REST API for more than 15 minutes, send a "heartbeat" request periodically to keep the messaging context from expiring. For example, a GET request to /maxInactiveInterval keeps the messaging context alive without side effects.

I am receiving an error message of the form "Internal error; log reference: <pseudorandom string>"

This is an indication that an internal exception was thrown. Details of the exception can be found in the server log, in a log entry that can be found by searching for the <pseudorandom string>. Note that the server log can only be accessed by Oracle Support. The error message, including the pseudorandom string, should be included in any communication about the error to Oracle Support.