Ошибка при использовании эмулятора Bot Framework после публикации бота V3 в Azure

Я создал довольно простого бота, используя версию 1.1.0 Bot Builder, и он работал нормально, как локально, так и после публикации в Azure. Однако, когда я перешел на версию 3 (и изменил соответствующий код), мой бот работает локально, но он не работает (на эмуляторе бота) после того, как я опубликовал его на Azure. Я не знаю, неправильно ли я использую Эмулятор или неправильно его публикую.

Я изменил теги BotId, MicrosoftAppId и MicrosoftAppPassword веб-конфигурации.

Когда я использую кнопку "Проверить соединение с вашим ботом" на странице Azure, она отвечает "Принят".

В эмуляторе я использую URL-адрес бота как " https://xxxxxx.azurewebsites.net/api/messages", URL-адрес эмулятора - " http://localhost:9000/" и соответствующие AppId и AppPassword. Версия эмулятора 3.0.0.59

Когда я пытаюсь начать разговор, я получаю 500 InternalError {"Произошла ошибка"}

Любые идеи о том, что не так?

Спасибо

1 ответ

Решение

Сообщения направляются на URL-адрес эмулятора http://localhost:9000/, поэтому это не работает. Вам нужно пересылать сообщения в известное место в сети при попытке взаимодействия с вашим ботом в облаке с помощью эмулятора. Для этого вы можете использовать ngrok.

Эта тема в документации объясняет, как это сделать. В основном вам нужно запустить ngrok следующим образом:

ngrok http -host-header = переписать 9000

Затем обновите эмулятор, чтобы использовать URL-адрес пересылки https ngrok в текстовом поле "Эмулятор URL".

Другие вопросы по тегам