"There was an error sending this message to your bot: HTTP status code NotFound"
"There was an error sending this message to your bot: HTTP status code NotFound"
我用 C# 创建了一个机器人并部署了它,但我不断收到错误代码 NotFound
或者在模拟器 404 中测试时。
该机器人在本地测试时运行良好,但在部署时失败。
我用 composer 创建了一个机器人,它做同样的事情,在本地工作,但在部署到 Azure 时失败。
机器人配置:
本地运行的机器人:
Bot 远程失败:
和
我在使用自定义密码选项创建“Web App Bot”时遇到了同样的问题,有时这个选项会失败。所以你可以尝试在“Web App BOT”中使用自动生成的密码选项。
请验证以下身份验证详细信息:
- Microsoft AppId -> 应在应用程序和 Azure 门户中使用相同的 App ID。
- Microsoft 密码 -> 应在应用程序和 Azure 门户中使用相同的密码。
- Directline 令牌 -> 如果您从前端框架连接,请验证此令牌。
- 消息端点 -> 验证此端点
Web App Bot is help to create all necessary service automatically for chatbot implementation and we can create the same process in another way. Please check the following steps.
- 在 Azure 中创建应用服务(托管您的聊天机器人应用程序)
- 创建 azure bot 频道注册。
- Link 使用应用服务端点注册应用服务和机器人频道。
- 验证所有身份验证详细信息。
注意:您可以在 Azure 机器人模拟器的“在 WebChat 中测试”部分测试您的应用。
好的,所以我找到了解决方案:
显然,如果您将机器人部署到 Azure,它就无法工作。但是,如果您在 azure 上创建了一个机器人,然后将您创建的机器人部署到它可以工作的应用服务。 link中的答案描述的方式有点模糊且不完整。为了解决我的问题,我在 azure 中创建了一个机器人,它会自动创建一个应用程序服务。然后,我通过选择资源组和应用服务作为我在 Azure 中创建的机器人的目标,发布了我在 visual studio 中创建的机器人。然后我要托管的机器人替换了第一个机器人,并以某种方式神奇地修复了网络问题。显然,如果您在 visual studio 或 composer 中创建机器人并按原样发布它是行不通的,这是微软需要解决的问题。
解决我问题的方法是更改应用服务的协议设置。如果您使用 Bot Composer 部署了您的机器人,您将在资源组中找到 2 个应用服务 - 一个带有 'qna' 后缀,另一个没有。选择没有 'qna' 后缀的那个。
Select 应用服务 --> TLS/SSL 设置 --> 仅限 HTTPS --> 开启
我用 C# 创建了一个机器人并部署了它,但我不断收到错误代码 NotFound
或者在模拟器 404 中测试时。
该机器人在本地测试时运行良好,但在部署时失败。
我用 composer 创建了一个机器人,它做同样的事情,在本地工作,但在部署到 Azure 时失败。
机器人配置:
本地运行的机器人:
Bot 远程失败:
和
我在使用自定义密码选项创建“Web App Bot”时遇到了同样的问题,有时这个选项会失败。所以你可以尝试在“Web App BOT”中使用自动生成的密码选项。
请验证以下身份验证详细信息:
- Microsoft AppId -> 应在应用程序和 Azure 门户中使用相同的 App ID。
- Microsoft 密码 -> 应在应用程序和 Azure 门户中使用相同的密码。
- Directline 令牌 -> 如果您从前端框架连接,请验证此令牌。
- 消息端点 -> 验证此端点
Web App Bot is help to create all necessary service automatically for chatbot implementation and we can create the same process in another way. Please check the following steps.
- 在 Azure 中创建应用服务(托管您的聊天机器人应用程序)
- 创建 azure bot 频道注册。
- Link 使用应用服务端点注册应用服务和机器人频道。
- 验证所有身份验证详细信息。
注意:您可以在 Azure 机器人模拟器的“在 WebChat 中测试”部分测试您的应用。
好的,所以我找到了解决方案:
显然,如果您将机器人部署到 Azure,它就无法工作。但是,如果您在 azure 上创建了一个机器人,然后将您创建的机器人部署到它可以工作的应用服务。 link中的答案描述的方式有点模糊且不完整。为了解决我的问题,我在 azure 中创建了一个机器人,它会自动创建一个应用程序服务。然后,我通过选择资源组和应用服务作为我在 Azure 中创建的机器人的目标,发布了我在 visual studio 中创建的机器人。然后我要托管的机器人替换了第一个机器人,并以某种方式神奇地修复了网络问题。显然,如果您在 visual studio 或 composer 中创建机器人并按原样发布它是行不通的,这是微软需要解决的问题。
解决我问题的方法是更改应用服务的协议设置。如果您使用 Bot Composer 部署了您的机器人,您将在资源组中找到 2 个应用服务 - 一个带有 'qna' 后缀,另一个没有。选择没有 'qna' 后缀的那个。
Select 应用服务 --> TLS/SSL 设置 --> 仅限 HTTPS --> 开启