java - 将技能部署为 Web 服务(不使用 ngrok 来隧道化本地主机)

标签 java http https aws-lambda alexa-skills-kit

我正在尝试将技能的服务部署为 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/

相关文章:

http - 如何将裸域 "example.com"重定向到 "https://example.com"?

asp.net - ASP.NET 中分块传输的最佳响应大小是多少?

ssl - IBM MobileFirst 适配器调用 ssl 错误

java - 如何在Android中使用layoutDirection动态镜像整个布局?

java - 如何在运行时使任何 Java 方法静态化?

java - 在 Google App Engine 托管的应用程序中解析 PDF 文件中的文本

asp.net-mvc - 为什么要缓存操作结果?

php - 切换到HTTPS后无法登录PHPmyAdmin

security - 在 Firefox 中添加证书异常(exception)是否会告诉它信任证书、地址或两者的组合?

java - 无法从终端使用 MySQL 连接器运行 Java 类