我使用版本1.1.0的Bot Builder创建了一个非常简单的机器人,它在本地和在Azure上发布后都运行良好。但是,当我更改为版本3(并更改了相应的代码)时,我的机器人在本地工作,但在我在azure上发布之后,它无法正常工作(在Bot模拟器上)。我不知道我是否以错误的方式使用模拟器,或者我是否错误地发布了它。
我更改了webconfig的BotId,MicrosoftAppId和MicrosoftAppPassword标记。
当我在Azure页面上使用“测试与机器人的连接”按钮时,它会响应“已接受”。
在模拟器上,我将Bot Url用作“https://XXXXXX.azurewebsites.net/api/messages”,将模拟器URL用作“http://localhost:9000/”以及相应的AppId和AppPassword。 模拟器的版本是3.0.0.59
当我尝试联系对话时,我收到500内部错误{“发生了错误”}
任何错误的想法?
由于
答案 0 :(得分:1)
消息被路由到仿真器URL http://localhost:9000,这就是为什么这不起作用。 当您尝试使用模拟器与云中的机器人进行交互时,您需要将消息转发到Web上的已知位置。为此,您可以使用ngrok。
文档中的topic解释了如何执行此操作。基本上你需要以这种方式运行ngrok:
ngrok http -host-header =重写9000
然后更新模拟器以使用模拟器URL文本框中的https ngrok转发URL。