2017-09-19 18 views
0

AWS Lexを使用してチャットボットを開発しようとしています。しかし残念ながら、Lexでチャットを作成中にエラーが発生しています。私は1つのインテントと2つのスロットを使用しています。何らかの理由で、ラムダ機能がチャットに接続されているとき、スロットの第2の値はnullとして保存されます。しかし、テストケースとしてラムダで実行すると成功します。 現在、スロットの詳細が入力された後に応答メッセージを表示するだけです。amazon lexの使用中にエラーが発生しました。「無効なラムダ応答:ラムダから無効な応答が返されました」

これは私のコード

public class LexBot implements RequestHandler<Map<String, Object>, Object> { 

    @Override 
    public Object handleRequest(Map<String, Object> input, Context context) { 
     // LexRequest lexRequest = LexRequestFactory.createLexRequest(input); 

     String content = "Request came from the bot: "; 
     Message message = new Message("PlainText", content); 
     DialogAction dialogAction = new DialogAction("Close", "Fullfiled", message); 

     return new LexRespond(dialogAction); 
    } 
} 

であり、これは私がAWSレックスに取得していますエラーです:

エラーが発生しました:無効なラムダ応答:ラムダから受信した無効な 応答を:メッセージのインスタンスを作成できません。問題: ["dialogAction":{"タイプ": "閉じる"、 "メッセージ" : "リクエスト はボットから来ました:"} }};行1、列:エラーを回避するために、応答を構築するため

{ 
     "sessionAttributes": session_attributes, 
     "dialogAction":{ 
      "type":"Close", 
      "fulfillmentState":"Fulfilled", 
      "message":{ 
       "contentType":"PlainText", 
       "content":message 
      } 
     } 
    } 

使用この形式:122]

答えて

0

docsによると、以下の最終的な応答を構築するための正しい形式です。

+0

ありがとうございました! –

関連する問題