このページでは、
Chatbot ジェネレーターに関連するエラーの一部について説明します。エラーは、生成から実行時まで、さまざまな段階で発生する可能性があります。また、エラーの原因と解決方法についても説明します。
問題: 標準出力に次のエラーが表示されます:
========== Chatbot synchronization for <instance> started ==========
error: One or more errors occurred.
error: invalid_client
error: Unauthorized
|
原因/解決方法: プロバイダーに接続するために資格情報を使用します。この情報は開発マシンに格納されます。このエラーは、資格情報が有効でないことを意味します。
資格情報の
[ Client Id ] プロパティおよび
[ Client Secret ] プロパティ、
[ Dialogflow Agent ] プロパティ、
[ Google Cloud Project ] プロパティを確認してください。
詳細については、「
Chatbot ジェネレーター用の Google Dialogflow の設定」を参照してください。
問題: リソース (CommonChatbots モジュールまたは Chatbot ジェネレーターのテーマクラス) が更新されていません。更新を行う際、リソースに修正があり、ナレッジベースの更新が必要になる場合があります。
原因/解決方法: リソースはビルドプロセスで自動的に更新されます。しかし、何らかの理由で更新されない (かつ更新が必要な変更がある) 場合、
[ Chatbot を生成 ] メニューオプションを実行することで、リソースを強制的に更新できます。
次の警告が表示される場合があります:
========== Copying Module 'GeneXus' started ==========
Copying Module 'GeneXus' Success
warning: Built-in 'Chatbot' module must be updated to version 2.1.10.129299.
========== Copying Module 'Chatbot' started ==========
この場合、 [ ナレッジマネージャ ] > [ 参照モジュールの管理 ] オプションを使用して、Chatbot モジュールを更新する必要があります。
3. 自動で生成されるべきプログラムが生成されていない。
問題: 一部のオブジェクトは
自動的に生成されます。生成されるかどうかは、
[ Generate Web UI ] プロパティおよび
[ Generate UI ] プロパティによります。
原因/解決方法: [ Generate Web UI ] プロパティおよび [ Generate UI ] プロパティが False に設定されていると、次の警告が表示される場合があります。この警告は、UI オブジェクトが一切自動的に生成されないことを意味します (<インスタンス名>Web UI オブジェクトおよび <インスタンス名> SD UI オブジェクトなど)。
warning: <フロー名> コンポーネントを生成できません。Generate UI が Conversational Flows Instance '<インスタンス名>' で無効になっています。
その結果、Chatbot が想定どおりに機能しない可能性があります。
問題: Chatbot の応答メッセージが空です。
原因/解決方法 1: GXCF_Chatbots.config ファイル (GeneXus 16 Upgrade 7 以前では GXCF_<インスタンス名>Chatbot.config という名前でした) が、.NET の場合は仮想ディレクトリー、Java の場合はサーブレットサーバーの WEB-INF ディレクトリーにあることを確認します。また、ファイルの内容についても、無効な情報がないか確認が必要です。workspaceId、APIkey、およびその他の情報への参照で、無効なものがないか確認してください。
ログファイルを生成している場合
(*)、次のようなエントリーが記録される場合があります。
System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at GeneXus.Http.Client.GxHttpClient.Execute(String method, String name)
10:55:24,466 [ 15 ] DEBUG GeneXus.Http.Client.GxHttpClient - Reading response...
10:55:24,490 [ 15 ] DEBUG GeneXus.Http.Client.GxHttpClient - BytesRead 37
10:55:24,495 [ 15 ] DEBUG GeneXus.Http.Client.GxHttpClient - BytesRead 0
10:55:24,501 [ 15 ] DEBUG GeneXus.Http.Client.GxHttpClient - _responseString {"code":401, "error": "Unauthorized"}
10:55:24,505 [ 15 ] DEBUG GeneXusUserLog - Chatbot Generator - Response body: {"code":401, "error": "Unauthorized"}
詳細については、「
Chatbot プロバイダーとの接続」を参照してください。
特に、次のような警告が出力されていないかを確認してください。
- Watson Assistant サービスのユーザーとパスワードが空です。ワークスペースは Watson Assistant にはアップロードされません。
- <インスタンス名> Conversational Flows Instance のクライアント ID が空です。
- <インスタンス名> Conversational Flows Instance のクライアントシークレットが空です。
このような場合、GXCF_Chatbots.config を作成できません。
「
Chatbot ジェネレーターを使用するための GeneXus の設定」を参照して、
Conversational Flows オブジェクトのプロパティに必要な値を入力してください。インスタンスを保存すると、.config ファイルが作成/更新されます。
原因/解決方法 2: Chatbot ジェネレーターは基盤として Web 通知を使用するため、
Web 通知およびプログレス ユーザー コントロールの要件を確認してください。
(*)
重要な注記: GeneXus 16 Upgrade 3 以降では、プロトタイプ画面にエラーメッセージを表示するように設定できます (SAC #42519 を参照)。
「
Chatbot ジェネレーターの一般的なエラーと解決方法」を参照してください。
問題: インスタンスで DialogFlow を使用するように設定しようとすると、401 エラーが表示されます。
または、次のエラーが表示されます:
標準出力を確認すると、次のエラーが表示されている場合があります:
Refreshing instance <instance>
error: An error occurred while applying pattern instance x: 'System.AggregateException'
error: One or more errors occurred.
error: One or more errors occurred.
error: Error:"invalid_client", Description:"Unauthorized", Uri:""
Pattern generation (Conversational Flows) Failed
原因/解決方法 2: DialogFlow への接続に関する情報の中に無効なものがあります。資格情報の
[ Client Id ] プロパティおよび
[ Client Secret ] プロパティ、
[ Dialogflow Agent ] プロパティ、
[ Google Cloud Project ] プロパティを確認してください。
「
Chatbot ジェネレーター用の Google Dialogflow の設定」を参照してください。