Microsoft Bot Framework(WebChat) - 500内部服务器错误

时间:2018-02-17 04:12:02

标签: botframework

从Azure Dashboard中的“在Web聊天中测试”窗口中,我输入了“hello”,这在我的后端正确接收,但我仍然在想如何回复。

注意:CAPS中的词语表示变量。

curl -d "grant_type=client_credentials&client_id=CLI-ENT-ID&client_secret=SECRET&scope=https%3A%2F%2Fapi.botframework.com%2F.default" -X POST https://login.microsoftonline.com/botframework.com/oauth2/v2.0/token

Response: {"token_type":"Bearer","expires_in":3600,"ext_expires_in":0,"access_token":"VERY_LONG_STRING"}

curl -d '{"type":"message","from":{"id":"mybot@SOME_ID","name":"mybot"},"conversation":{"id":"CONVERSATION_ID"},"recipient":{"id":"RECIPIENT_ID","name":"You"},"locale":"en","text":"hello too","replyToId":"CONVERSATION_ID|0000008"}' -H "Content-Type: application/json" -H "Authorization: Bearer VERY_LONG_STRING" -X POST https://api.botframework.com/v3/conversations/CONVERSATION_ID/activities/CONVERSATION_ID%7C0000008

Response: The page cannot be displayed because an internal server error has occurred.

从我的应用程序请求(也是同样的错误):

POST /v3/conversations/CONVERSATION_ID/activities/CONVERSATION_ID%7C0000008 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer VERY_LONG_STRING
User-Agent: Java-SDK
Content-Length: 273
Host: api.botframework.com
Connection: Keep-Alive
Accept-Encoding: gzip,deflate

{"type":"message","from":{"id":"mybot@SOME_ID","name":"mybot"},"conversation":{"id":"CONVERSATION_ID"},"recipient":{"id":"RECIPIENT_ID","name":"You"},"locale":"en","text":"hello too","replyToId":"CONVERSATION_ID|0000008"}

我想念什么?

1 个答案:

答案 0 :(得分:1)

感谢Eric Dahlvang的评论,我明白了。

默认情况下,swagger生成的ApiClient会将其basePath硬编码为https://api.botframework.com

在回复之前,从传入的serviceUrl获取Activity并使用它来更改basePath