2017-03-08 99 views
-1

我想用bot框架模擬器連接到我的BOT。它給錯誤Botframework模擬器沒有連接

異常:響應狀態碼不表示成功:401(拒絕訪問)。 [類型的文件「text/plain的」]

當我在錯誤信息的細節看它顯示的服務網址爲http://localhost:31727

,但我的機器人網址爲http://localhost:3979/api/messages

能否請你幫我在這裏找到問題?

我在下面附上完整的錯誤信息。

enter image description here

{ 「類型」: 「消息」, 「時間戳」: 「2017-03-08T09:51:40.142Z」, 「的serviceUrl」: 「http://localhost:31727」, 「的channelID」 : 「模擬器」, 「從」:{ 「ID」: 「l0352n0fl2ja1ede6」, 「名」: 「博特」 }, 「對話」:{ 「ID」: 「67infihmnjcl68bd7c」 }, 「收件人「:{ 」id「:」default-user「 }, 「locale」:「en-US」, 「text」:「例外:響應狀態碼不表示成功:401(拒絕訪問)。」, 「附件」:[ { 「contentType」:「text/plain「, 」content「:」at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\ r \ n at Microsoft.Bot.Builder.Luis.LuisService.d__3.MoveNext()\ r \ n --- End從先前位置拋出異常的堆棧跟蹤--- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)中的\ r \ n \ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)\ r \ n \ r \ n在System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\r\n at Microsoft.Bot.Builder.Luis.Extensions.<QueryAsync>d__3.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\ r \ n在Microsoft.Bot.Builder.Dialogs.LuisDialog 1.<MessageReceived>d__7.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.GetResult()\r\n at Microsoft.Bot.Builder.Dialogs.Internals.DialogTask.ThunkResume 1.d__5.MoveNext()\ r \ n ---堆棧跟蹤結束從以前的位置,如前在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)上System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)\ r \ n處拋出ception --- \ r \ n \ .CompilerServices.TaskAwaiter 1.GetResult()\r\n at Microsoft.Bot.Builder.Internals.Fibers.Wait 2.-PollAsync> d__19.MoveNext()\ r \ n ---從以前位置拋出異常的堆棧跟蹤結束--- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\r\n at Microsoft.Bot.Builder.Internals.Fibers.Frame 1.-PollAsync> d__9.MoveNext()\ r \ n- - 從以前位置拋出異常的堆棧跟蹤結束---在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)上的\ r \ n \ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\r\n at Microsoft.Bot.Builder.Internals.Fibers.Fiber 1.-PollAsync> d__16.MoveNext()\ r \ n ---來自之前位置拋出異常的堆棧跟蹤結束--- \ r \ n在System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\ r \ n在Microsoft.Bot.Builder.Internals.Fibers.Wait 2.Microsoft.Bot.Builder.Internals.Fibers.IAwaiter<T>.GetResult()\r\n at Microsoft.Bot.Builder.Dialogs.Chain.LoopDialog 1.d__3.MoveNext()\ r \ n ---從拋出異常的以前位置的堆棧跟蹤結束---在系統中的\ r \ n。 Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\ r \ n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\ r \ n at System.Runtime.CompilerServices.TaskAwaiter.GetResult()\ r \ n at Microsoft.Bot.Builder.Dialogs.Internals.DialogTask.ThunkResume 1.<Rest>d__5.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\ r \ n在Microsoft.Bot.Builder.Internals.Fibers。等待2.<Microsoft-Bot-Builder-Internals-Fibers-IWait<C>-PollAsync>d__19.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\ r \ n在Microsoft.Bot.Builder.Internals.Fibers.Frame 1.<Microsoft-Bot-Builder-Internals-Fibers-IFrameLoop<C>-PollAsync>d__9.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter 1.GetResult()\ r \ n在Microsoft.Bot.Builder.Internals.Fibers.Fiber 1.<Microsoft-Bot-Builder-Internals-Fibers-IFiberLoop<C>-PollAsync>d__16.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter 1.GetResult( )\ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.DialogTask.d__23.MoveNext()\ r \ n ---從以前的位置拋出異常的堆棧跟蹤結束--- \ r \ n在System .Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.GetResult()\ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.ReactiveDialogTask.d__3.MoveNext()\ r \ n ---從以前位置拋出異常的堆棧跟蹤結束--- \ r \ n在System.Runtime.CompilerServices。 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)中的TaskAwaiter.ThrowForNonSuccess(任務任務)\ r \ n \ System.Runt ime.CompilerServices.TaskAwaiter.GetResult()\ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.ScoringEventLoop`1.d__5.MoveNext()\ r \ n ---以前位置的堆棧跟蹤結束,拋出--- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)\ r \ n在System.Runtime.CompilerServices .TaskAwaiter.GetResult()\ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.PersistentDialogTask.d__4.MoveNext()\ r \ n ---從之前位置拋出異常的堆棧跟蹤結束--- \ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.PersistentDialogTask.d__4.MoveNext()\ r \ n System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()\ r \ n ---從以前的堆棧跟蹤結束拋出異常的位置--- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessA ndDebuggerNotification(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.GetResult()\ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.ExceptionTranslationDialogTask.d__2.MoveNext()\ r \ n ---在以前引發異常的位置結束堆棧跟蹤--- System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)中的\ r \ n \ System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)\ r \ n \ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.SerializeByConversation.d__4.MoveNext()\ r \ n System.Runtime.CompilerServices.TaskAwaiter.GetResult()\ r \ n ---結束堆棧跟蹤在以前引發異常的位置--- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)\ r \ n at System.Runtime.CompilerServices.TaskAwaiter.GetResult()\ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.SetAmbientThreadCulture .d__2.MoveNext()\ r \ n ---從之前的位置拋出異常的堆棧跟蹤結束--- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任務任務)\ r \ n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任務任務)\ r \ n在System.Runtime.CompilerServices.TaskAwaiter.GetResult()\ r \ n在Microsoft.Bot.Builder.Dialogs.Internals.PostUnhandledExceptionToUser.d__5.MoveNext( ) 「 } ], 」實體「:[], 」replyToId「: 」fc5lb3ii344hk7hnac「, 」ID「: 」jmi06madf5020naii「, 」LOCALTIMESTAMP「:」 2017-03-08T15:21:40 + 05 :30「 } 日誌

+0

您是否還在模擬器中設置AppId和AppSecret,或者是否將這些空置空? –

+0

我將他們留下爲空。 – Ashish

+0

我將它們留空。我連接我的本地主機。我們是否也需要在那裏提供appID和AppSecret?如果是,那麼我在哪裏可以得到這些值? – Ashish

回答

0

我猜你的機器人的配置是OK的。這個問題很可能是由Microsoft.Bot.Builder.Luis.LuisService(在附加的堆棧中)造成的,你不能提供正確的證書,這就是爲什麼你會得到401的原因。

嘗試實現一個更簡單的機器人(hello word)來驗證你與模擬器的連接是否正常。

PS。您可以運行Fiddler查看所有請求並查看哪一個實際上失敗。

0

您是否嘗試將AppId和AppSecret放置在模擬器中?您可以在項目中的Web.config文件中找到這些值。

<appSettings> 
    <add key="MicrosoftAppId" value="YourAppId" /> 
    <add key="MicrosoftAppPassword" value="YourAppPassword" /> 
</appSettings>