Я уже некоторое время использую AWS SDK (PHP) LexRuntimeService, и это неожиданная ошибка, которая возникает, по-видимому, в случайных случаях.
Аргументы PostText устанавливаются следующим образом, в зависимости от ввода пользователя и данных:
(
[botAlias] => xxxxx
[botName] => xxxxxxx
[inputText] => book a ride
[userId] => xxxxxxxxxxxxxx
[requestAttributes] => Array
(
[userID] => xxxxxxxxxxxxxx
[userInput] => book a ride
[passenger_first_name] => xxxxxxxx
[passenger_last_name] => xxxxxx
[passenger_email] => xxxx@xxxxxxxxx.com
[channel] => facebook
[chatbot_session_id] => xx
)
)
Эти аргументы PostText должны быть тем, что определяет эту ошибку, но я не могу найти никакой разницы между рабочими аргументами и ошибочными аргументами.Когда SDK выдает ошибку, вот что я получаю:
Aws \ LexRuntimeService \ Exception \ LexRuntimeServiceException:
Ошибка выполнения \ "PostText \" on \ "https://runtime.lex.us -east-1.amazonaws.com/bot/xxxxxxx/alias/xxxxxx/user/xxxxxxxxxxxxxx/text \ ";
Ошибка HTTP AWS: ошибка клиента: POST https:\/\/runtime.lex.us-east-1.amazonaws.com\/bot\/xxxxx\/alias\/xxxxx\/user\/xxxxxxxxxxxx\/text
привела к ответу 400 Bad Request
: \ n {\ "Message \": \ "class com.amazon.coral.value.json.numbers.TruncatingBigNumber нельзя преобразовать в String \ "} \ n SerializationException (клиент): - {\" Message \ ": \" класс com.amazon.coral.value.json.numbers.TruncatingBigNumber не может быть преобразованв строку \ "} в /var/www/html/yt074/thirdparty/aws/Aws/WrappedHttpHandler.php в строке 193 \ n
I 'мы попытались установить для каждого из аргументов Args следующие строки:
$requestAttributes["userID"] = (string) $userData['userID'];
Но ошибка по-прежнему возникает.Любые предложения / объяснения, что может вызвать эту ошибку?