トラブルシューティング
このセクションでは、ABBYY Timeline Connector for DBMSで発生する問題の解決に関する情報を提供しています。
問題
コネクターの開始時に以下のエラーが発生する:
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
原因
接続しようとしているABBYY Timelineが、自己署名証明書を使用しているか、自身のSSL認証局で発行したSSL証明書を使用しています。
解決方法
HTTPSでアクセス可能で、自己署名証明書または自身のSSL認証局で発行したSSL証明書を使用しているABBYY Timelineにデータをアップロードするには、Timeline証明書をコネクターがインストールされたコンピューターのJVM証明書ストアにインポートします。以下の手順に従います:
- ABBYY Timelineのインストールフォルダーから、コネクターがインストールされているコンピューターに.certファイルをコピーします。
デフォルトでは、.certファイルはC:\Program Files\ABBYY Timeline\sslにあります。 - 証明書をJVMトラストストアにインストールします。
証明書をインストールするには、JREに含まれているkeytoolユーティリティを使います: - 管理者としてコマンドプロンプトを開きます。
- keytoolユーティリティのあるフォルダーに移動します。
デフォルトで、ユーティリティは%JAVA_HOME%\binに入っています。 - 以下のコマンドを使って、Javaトラスト証明書ストレージに証明書をインポートします:
keytool -importcert -alias TimelineServer -keystore <path-to-java-truststore> -file <your_certificate_filename> -storepass changeit
ここで、
- aliasは証明書の名前になります(今回はTimelineServerになります)。証明書の情報にアクセスするためのものです。
- keystoreはストレージファイルへのパスとその名前です。
Javaトラスト証明書ストレージは次の場所にあります:
JAVA_HOME\JavaRuntime\lib\security\cacerts
Example: C:\Program Files (x86)\Java\jre1.8.0_281\lib\security\cacerts - fileは証明書ファイルへのパスです。
- storepassは、指定したキーストアのパスワードです。
デフォルトで、changeitがcacertsキーストアのパスワードになっています。
コマンド例:
keytool -importcert -alias TimelineServer -keystore "C:\Program Files (x86)\Java\jre1.8.0_281\lib\security\cacerts" -file "D:\dbms\server.cert" -storepass changeit
- コマンドが無事実行されると、「この証明書を信頼しますか?」と聞かれます。「はい」と入力してEnterを押します。すると次のメッセージが表示されます: 「証明書がキーストアに追加されました」
問題
コネクターの開始時に以下のエラーが発生する:
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.*
原因
コネクター実行コマンド内の引数、ABBYY TimelineサーバーURLの形式が不正です。
解決方法
コネクターを実行するコマンドのサーバーURLパラメータを確認します。サーバーURLの末尾にフォワードスラッシュ「/」は使用できません。例: https://my.timelinepi.com
コマンドの例:
java -jar abbyy.timeline.dbms.client.jar -ServerUrl https://online.timelinepi.com --Token cmVwb4Npd76yeTpxQURGQl9uMm1pTXg3dkJXNjB2dXdDc3BVOWVyMGFxZlRrUjlzN0FiaDBGVVZDeFJaOU01QUdGcXdmVkJLWWbV69JvNXp0dVnBsVkFkTnhkZw== --AcceptEula
問題
コネクターの開始時に以下のエラーが発生する:
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]
原因
コネクターが、TLS 1.2に対応していないMicrosoft SQL Server 2012以前と通信しています。
解決方法
Microsoft SQL Serverを更新してください。SQLサーバーでTLS 1.2サポートを有効にするためのMicrosoftがリリースする更新についてはこちらのページでご確認ください: https://support.microsoft.com/en-us/topic/kb3135244-tls-1-2-support-for-microsoft-sql-server-e4472ef8-90a9-13c1-e4d8-44aad198cdbe
22.09.2023 8:59:48