我正在尝试将技能的服务部署为 Web 服务,不是使用 lambda 函数而是作为 HTTPS 端点(Alexa 需要 HTTPS 端点来转发请求)。 ASK-SDK-JAVA servlet 有助于实现相同的目标,但文档描述了 TOMCAT 和 NGROK 的本地用法。我部署了与 Heroku 文档中使用的相同的 .war
,但请求没有转发到端点。如何将服务托管为 HTTPS 端点?我可以使用 .jar
还是只使用 .war
?
我用“SkillServlet”制作了示例 HelloWorld 程序 as shown here .
当我调用技能时。 Alexa 抛出以下语音输出
There was a problem communicating with the requested skill.
(无法查询端点)
最佳答案
我认为这是因为你没有遵守规则as mentioned here由 Alexa 团队提供。他们有一套规则,例如验证 Alexa 请求,我认为他们这样做是出于安全和 100% 正常运行时间的原因。
我不知道 java-sdk,
但我也想在我的自定义端点上部署我的 node-sdk
技能,我发现 Alexa 规则非常好复杂的。所以我建议您坚持在 Lambda 上托管。
关于java - 将技能部署为 Web 服务(不使用 ngrok 来隧道化本地主机),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57389469/