0

Я создал свое мастерство Alexa как приложение AWBA Lambda java и использовал пример HelloWorld, представленный в наборе Alexa Skills Kit. Я следил за всеми шагами, приведенными на сайте Amazon, включая все шаги, приведенные здесь Alexa not finding my Skill. Поскольку Amazon не дает в данный момент инструкций использовать Lambda с java, я выполнил шаги, приведенные в этом уроке https://github.com/jjaquinta/EchoProofOfConcepts/tree/master/jo.echo.lambda, который я нашел на странице форумов Amazon. Когда я запускаю код в Lambda он принимает его, но только показывает, что это в результате исполнения:Неожиданная проблема с сообщением с Alexa

{ 
"version": "1.0", 
"sessionAttributes": {} 
} 

И получить следующий вывод журнала для запроса о запуске сеанса Alexa:

START RequestId: 1e8a753b-37a5-11e5-bad6-6df6c6d7bdc9 
SpeechletLambda init 
warn:No timestamp tolerance has been configured, disabling timestamp verification 
SpeechletLambda done init 
Handling request 
0 [main] WARN com.amazon.speech.speechlet.authentication.ApplicationIdVerifier - Application ID verification has been disabled, allowing request for application ID amzn1.echo-sdk-ams.app.[unique-value-here] 
warn:Timestamp verification has been disabled, allowing request request5678 with timestamp null 
error:Exception occurred in speechlet 
java.lang.NullPointerException 
jo.echo.lambda.utils.SpeechletLambda.handleRequest(SpeechletLambda.java:119) 
hello.HelloWorldLambda.handleRequest(HelloWorldLambda.java:38) 
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
java.lang.reflect.Method.invoke(Method.java:497) 
lambdainternal.EventHandlerLoader$StreamMethodRequestHandler.handleRequest(EventHandlerLoader.java:494) 
lambdainternal.EventHandlerLoader$2.call(EventHandlerLoader.java:832) 
lambdainternal.AWSLambda.startRuntime(AWSLambda.java:223) 
lambdainternal.AWSLambda.<clinit>(AWSLambda.java:56) 
java.lang.Class.forName0(Native Method) 
java.lang.Class.forName(Class.java:348) 
lambdainternal.LambdaRTEntry.main(LambdaRTEntry.java:93) 
END RequestId: 1e8a753b-37a5-11e5-bad6-6df6c6d7bdc9 
REPORT RequestId: 1e8a753b-37a5-11e5-bad6-6df6c6d7bdc9 Duration: 2231.45 ms   
Billed Duration: 2300 ms Memory Size: 512 MB Max Memory Used: 78 MB 

Когда я попробовать Умение с эхом у меня получилось «Неожиданная проблема связи»: Идентификатор запроса: amzn1.echo-api.request.173c5d6c-8e97-493c-9efd-beb88cffd82f возникла проблема, связанная с запрошенным приложением.

Неужели кто-нибудь сталкивается с той же проблемой? Я полагаю, что это может быть связано с моей почтовой упаковкой, так кто-нибудь знает правильный способ ее упаковки?

Это код, который я использовал для HelloWorld https://docs.google.com/document/d/1DU_-kAOxnhEp_4Lsj6I_LzEN4Di6-4Gmk28OZgc80IA/pub

ответ

0

Я смог получить приложение Alexa для удобной работы, скопировав HelloWorldSpeechlet, HelloWorldLambda и SpeechletLambda здесь https://github.com/jjaquinta/EchoProofOfConcepts/tree/master/jo.echo.lambda (Мне также нужно было удалить все переопределения из класса HelloWorldSpheechlet). После этого мне просто нужно было выполнить следующие шаги: Alexa not finding my Skill

1

вы первым разрешили исключение нулевого указателя? Извините, если у вас есть, и я заявляю очевидное. Можете ли вы регистрировать данные, поступающие в конверт запроса?