“向您的机器人发送此消息时出错:HTTP 状态代码未找到”

问题描述 投票:0回答:4

我用 C# 创建了一个机器人并部署了它,但我不断收到错误代码

NotFound
或者在模拟器 404 中测试时。

该机器人在测试时在本地工作得很好,但在部署时却失败了。

我用 Composer 创建了一个机器人,它做同样的事情,在本地工作,但部署到 Azure 时失败。

机器人配置:

机器人在本地工作:

机器人远程失败:

c# azure botframework azure-bot-service bot-framework-composer
4个回答
1
投票

我在使用自定义密码选项创建“Web App Bot”时遇到了同样的问题,有时此选项会失败。所以你可以尝试在“Web App BOT”中使用自动生成密码选项。

请验证以下身份验证详细信息:

  1. Microsoft AppId -> 应在应用程序和 Azure 门户中使用相同的应用程序 ID。
  2. Microsoft 密码 -> 应在应用程序和 Azure 门户中使用相同的密码。
  3. Directline 令牌 -> 如果您从前端框架连接,请验证此令牌。
  4. 消息传送端点 -> 验证此端点

Web App Bot 有助于自动创建聊天机器人实施所需的所有服务,我们可以以另一种方式创建相同的流程。请检查以下步骤。

  • 在 azure 中创建应用程序服务(托管您的聊天机器人应用程序)
  • 创建 Azure 机器人通道注册。
  • 使用应用程序服务端点链接应用程序服务和机器人通道注册。
  • 验证所有身份验证详细信息。

注意: 您可以在 azure bot 模拟器的“在 WebChat 中测试”部分测试您的应用程序。

参考:Azure Chatbot & Bot Framework Composer


1
投票

解决我的问题的是更改应用程序服务的协议设置。如果您使用 Bot Composer 部署了机器人,则在资源组中您将找到 2 个应用服务 - 一个带有“qna”后缀,另一个没有。选择不带“qna”后缀的那个。

选择应用服务 --> TLS/SSL 设置 --> 仅 HTTPS --> 开


0
投票

好吧,我找到了解决方案:
错误 (502) 错误网关:尝试使用 WebChat 通道访问部署在 Azure 上的聊天机器人时
显然,如果您将机器人部署到天蓝色,它就不起作用。但是,如果您在 azure 上创建机器人,则将您创建的机器人部署到它可以工作的应用程序服务。链接中的答案描述的方式有点模糊且不完整。为了解决我的问题,我在 azure 中创建了一个机器人,它会自动使用它创建一个应用程序服务。然后,我通过选择资源组和应用程序服务作为我在 Azure 中创建的机器人的目标,发布了我在 Visual Studio 中创建的机器人。然后,我想要托管的机器人取代了第一个机器人,并以某种方式神奇地修复了网络问题。显然,如果您在 Visual Studio 或 Composer 中创建机器人并按原样发布它是行不通的,这是他们需要微软解决的问题。


0
投票

在研究后我也面临着完全相同的问题,我注意到我的消息端点中有额外的文本。去掉之后。它开始工作了。发帖,因为它可能对某人有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.