无法发送活动:机器人返回了错误502404

时间:2019-08-02 17:15:05

标签: botframework azure-bot-service

我正在尝试将ms teams auth机器人部署到天蓝色。当我使用Bot框架仿真器对其进行测试时,该Bot会发出欢迎消息。然后,我运行these steps将我的漫游器部署到Azure。在部署步骤中,我在整个过程中使用了相同的应用程序ID和密码。然后我在azure上对其进行了测试,但结果失败了:

enter image description here

我查看了浏览器的网络请求,并且看到了:

HTTP POST: https://webchat.botframework.com/v3/directline/conversations/JYtg14OvcjS7FiNwCMXzH1-g/activities

响应:

{
  "error": {
    "code": "BotError",
    "message": "Failed to send activity: bot returned an error"
  },
  "httpStatusCode": 404
}

我流了我的应用程序日志,它给了我很大的HTML响应,您可以看到here。但这只是一个404页面响应。

我试图在我的机器人仿真器中运行它,指向生产中的机器人,它也给出了404响应:

enter image description here

编辑:

  1. 我只是尝试redeploy my bot,但是在测试我的机器人时得到了相同的结果。
  2. 运行所有deployment steps之后,我再也没有web.config文件了。尽管在我的机器人模拟器中进行本地测试仍然可以正常工作。
  3. 这是我的资源组的屏幕快照,其中包含3个资源:enter image description here
  4. 这是运行pre-deploy command后的屏幕截图。它不会生成web.config文件,但会生成一个.deployment文件:enter image description here
  5. 应用程序ID在azure中的应用程序注册门户中相同,在我的appsettings.json文件中也相同,并且在运行deployment command时也相同。

编辑2:

  1. 这是我压缩项目的方式:enter image description here
  2. 在Azure上,虽然我记得以前曾经做过,但是我无法查看我的代码。也许是因为在Azure上,我只有Bot Channels注册,但没有Web App Bot。有问题吗?

编辑3:

  1. 压缩目录时,我发现我没有包含.deployment文件。 (文件浏览器正在隐藏文件。)因此,现在我将其包含在压缩的内容中,并再次由bot重新部署。 (不幸的是,该机器人仍然具有相同的行为。)
  2. 以下是/ dev / wwwroot /的新内容:enter image description here
  3. 这是我的应用注册信息(我尝试切换两种帐户类型,而不是通过命令行(仍然是相同的漫游器行为)通过命令行重新创建): enter image description here
  4. .deployment文件已压缩。我的mac电脑没有显示它。我更新了屏幕截图,以在上方显示我的.deployment文件。

1 个答案:

答案 0 :(得分:1)

OP的问题最终是,他们需要使所有个人(包括个人)帐户都可以使用自己的应用注册。为此,请遵循these steps

我将保留后代的答案,但是如果您遇到此问题,我的评论将提供很好的疑难解答步骤。


啊哈!问题是this step。您需要压缩项目文件夹的内容,而不是文件夹本身。

此:

enter image description here

代替此:

enter image description here

部署时,文件夹结构将如下所示:

enter image description here

您不是第一个遇到此问题的人。我有created a PR to clarify this。让我知道您是否认为我所做的更改应该说明其他内容。

旁注:web.config是在部署时创建的。我的评论有误。