Troubleshooting
This section provides information about resolving problems you might experience with the ABBYY Timeline Connector for DBMS.
Issue
The following error occurs while starting a Connector:
Error: Message - Failed to get repository configuration., StackTrace - java.lang.IllegalStateException: Failed to get repository configuration. at abbyy.timeline.dbms.client.timeline.TimelineClient.wrap(TimelineClient.java:120) at abbyy.timeline.dbms.client.timeline.TimelineClient.run(TimelineClient.java:115) at abbyy.timeline.dbms.client.timeline.TimelineClient.getRepositoryConfiguration(TimelineClient.java:34) at abbyy.timeline.dbms.client.Program.main(Program.java:49) Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
Cause
ABBYY Timeline you are trying to connect to is using a self-signed certificate, or you are using the SSL certificate issued by your own SSL Certificate Authority.
Solution
To upload data into ABBYY Timeline, which is accessible over HTTPS and uses a self-signed certificate, or you use an SSL certificate issued by your own Certificate Authority, you must import the Timeline certificate into the JVM certificate store on the computer where the Connector installed. To do this:
- Copy .cert file from the ABBYY Timeline installation folder to the computer with the installed connector.
By default .cert file located in C:\Program Files\ABBYY Timeline\ssl - Install a certificate into a JVM trust store.
In order to install a certificate, use the keytool utility which is included with the JRE: - Open Command Prompt as administrator.
- Go to the folder where the keytool utility is located.
By default, utility located in %JAVA_HOME%\bin - Import a certificate into a Java trusted certificate storage using the following command:
keytool -importcert -alias TimelineServer -keystore <path-to-java-truststore> -file <your_certificate_filename> -storepass changeit
Where:
- alias is the name of the certificate (TimelineServer in our case). It is used for accessing information about a certificate.
- keystore is the path to a storage file and its name.
The Java trusted certificate storage is located in:
JAVA_HOME\JavaRuntime\lib\security\cacerts
Example: C:\Program Files (x86)\Java\jre1.8.0_281\lib\security\cacerts - file is the path to a certificate file.
- storepass is the password for the specified keystore.
By default, changeit is used as a password for cacerts keystore.
Command example:
keytool -importcert -alias TimelineServer -keystore "C:\Program Files (x86)\Java\jre1.8.0_281\lib\security\cacerts" -file "D:\dbms\server.cert" -storepass changeit
- If the command executes successfully, you will be asked 'Trust this certificate?'. Enter 'Yes' and press Enter. Then you will see the message: 'Certificate was added to keystore'.
Issue
The following error occurs while starting a Connector:
Failed to execute 'https://mytimeline.com//api/ext/1.0/repository/repository-import-configuration' method. '<html>
<head><title>503 Service Temporarily Unavailable</title></head>
<body>
<center><h1>503 Service Temporarily Unavailable</h1></center>
</body>
</html>
'. Error code: Service Temporarily Unavailable. HTTP status code: 503.*
Cause
Incorrect format of the ABBYY Timeline server URL argument in the Connector run command.
Solution
Check the Server URL parameter in the command to run the Connector. The forward slash character '/' cannot be used at the end of the Server URL. For example, https://my.timelinepi.com
Command example:
java -jar abbyy.timeline.dbms.client.jar -ServerUrl https://online.timelinepi.com --Token cmVwb4Npd76yeTpxQURGQl9uMm1pTXg3dkJXNjB2dXdDc3BVOWVyMGFxZlRrUjlzN0FiaDBGVVZDeFJaOU01QUdGcXdmVkJLWWbV69JvNXp0dVnBsVkFkTnhkZw== --AcceptEula
Issue
The following error occurs while starting a Connector:
Error: Message - The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". ClientConnectionId:94599322-8064-444a-92a2-d9bd29301089, StackTrace - com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]". ClientConnectionId:94599322-8064-444a-92a2-d9bd29301089 at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:2998) at com.microsoft.sqlserver.jdbc.TDSChannel.enableSSL(IOBuffer.java:1884) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2558) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2216) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2067) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1204) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:825) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:229) at abbyy.timeline.dbms.client.sql.SqlClient.init(SqlClient.java:93) at abbyy.timeline.dbms.client.sql.SqlClient.<init>(SqlClient.java:28) at abbyy.timeline.dbms.client.Program.main(Program.java:56) Caused by: javax.net.ssl.SSLHandshakeException: The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]
Cause
The connector communicates with Microsoft SQL Server 2012 or earlier which does not support TLS 1.2.
Solution
Please update your Microsoft SQL Server. Use the following page to get information about the updates that Microsoft is releasing to enable TLS 1.2 support for SQL Server: https://support.microsoft.com/en-us/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe
9/5/2024 4:23:54 PM