AWS SDK Lex PostText Ошибка: TruncatingBigNumber не может быть преобразован в строку - PullRequest
0 голосов
/ 26 сентября 2018

Я уже некоторое время использую 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'];

Но ошибка по-прежнему возникает.Любые предложения / объяснения, что может вызвать эту ошибку?

...