【发布时间】:2019-03-27 00:29:20
【问题描述】:
我已经使用 LUIS 和 QnA Maker 部署了一个聊天机器人。当我在模拟器上运行它时,它可以在本地完美运行。它会在聊天开始时加载自适应卡片,我会从 LUIS 得到正确的回复。
但是,当我在 Azure 上部署机器人并在网络聊天中对其进行测试时,它会出现以下错误:
向您的机器人发送此消息时出错:HTTP 状态代码 InternalServerError
这就是我的 web.config 的样子:
<configuration>
<appSettings>
<!-- update these with your BotId, Microsoft App Id and your Microsoft App Password-->
<add key="BotId" value="BotLuis" />
<add key="MicrosoftAppId" value="9f9564ef-d627-450f-b943-98b7338c0f31" />
<add key="MicrosoftAppPassword" value="myapp-password" />
</appSettings>
我从我在 Azure 上创建的 Web 机器人的应用程序设置中获取 AppID 和 AppPassword 的值。我知道它们是正确的,因为我使用这些值在本地使用 Emulator 进行设置。
我将代码从 github 部署到 Azure。我的机器人在 azure 网络聊天中加载得很好(自适应卡片显示),但在那之后我给它的任何输入,无论是交互式卡片还是聊天命令,我都会收到上述错误。
应用程序 Insight 显示以下异常:
POST 到 BotLuis 失败:POST 到 bot 的端点失败,HTTP 状态为 500 问题 ID:Microsoft.Bot.ChannelConnector.BotAPI+d__31.MoveNext 处的 System.Exception
当我与机器人交互时,开发者工具控制台会显示:
https://webchat.botframework.com/v3/directline/conversations/3NgflndFbpzCRDtnMdZpjf-g/activities 502 (Bad Gateway)
如果您将上述链接粘贴到浏览器中,您将获得以下内容:
{
"error": {
"code": "BadArgument",
"message": "Missing token or secret"
}
}
此时我迷路了。我可以理解这个问题,但我不知道如何前进。我应该在我的代码中的某个地方添加我的机器人的消息传递端点吗?
代码的github repo链接:here
【问题讨论】:
-
您是否检查过它在模拟器中(在本地主机中)是否正常工作?
-
是的。我在我的问题中提到了它。只有在 azure 上部署后它才会停止工作
-
你能发布更多你的 StackTrace 吗?
标签: azure botframework azure-language-understanding