首页 > 解决方案 > 聊天机器人异常:OnTurnAsync 异常--操作返回无效状态代码“BadRequest”

问题描述

只有在我将机器人部署到 azure Web 应用程序并尝试在 azure 门户 Web Chat 中进行测试后,我才会收到此错误。但是我的机器人在我的本地机器上的机器人模拟器中按预期工作。

我不确定这是否是由于分配给我的天蓝色角色。我分配的角色显示为“有限贡献者”。我能够创建任何资源并将我的聊天机器人部署到 azure。所以不确定这是否与我的“有限贡献者”角色有关。

这是引发异常的代码行(以红色标记): 在此处输入图像描述

  Exception OnTurnAsync  exception inner ex.Message:
 Operation returned an invalid status code 'BadRequest'  ex:
 Microsoft.Bot.Schema.ErrorResponseException: Operation returned an invalid status code 'BadRequest'
   at Microsoft.Bot.Connector.Conversations.ReplyToActivityWithHttpMessagesAsync(String conversationId, String activityId, Activity activity, Dictionary`2 customHeaders, CancellationToken cancellationToken)
   at Microsoft.Bot.Connector.ConversationsExtensions.ReplyToActivityAsync(IConversations operations, String conversationId, String activityId, Activity activity, CancellationToken cancellationToken)
   at Microsoft.Bot.Builder.BotFrameworkAdapter.SendActivitiesAsync(ITurnContext turnContext, Activity[] activities, CancellationToken cancellationToken)
   at Microsoft.Bot.Builder.TurnContext.<>c__DisplayClass22_0.<<SendActivitiesAsync>g__SendActivitiesThroughAdapter|1>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Bot.Builder.TurnContext.SendActivityAsync(IActivity activity, CancellationToken cancellationToken)
   at AbcChatBot.Bots.AbcsBot.OnMessageActivityAsync(ITurnContext`1 turnContext, CancellationToken cancellationToken)

任何解决或确定我为什么收到“BadRequest”的建议将不胜感激。

标签: c#azure.net-corebotframeworkchatbot

解决方案


这通常是因为MicrosoftAppId/MicrosoftAppPassword在您的应用服务配置中或在您的代码中配置(取决于您如何配置它)。请确保它们已在那里配置,然后重试。

我的猜测是,这与你的角色无关。此外,我不认为角色 '' 是标准的。我确实看到 aLimited Administrator不是a Limited Contributor

https://docs.microsoft.com/en-us/azure/active-directory/users-groups-roles/directory-assign-admin-roles


推荐阅读