Botframework HTTP正文中的活动无效或缺失-错误作为对的响应

Botframework HTTP正文中的活动无效或缺失-错误作为对的响应,botframework,direct-line-botframework,Botframework,Direct Line Botframework,我们正在尝试使用连接Unity应用程序和聊天机器人。使用bot启动新的对话工作正常,但当我尝试向它发送消息而不是得到响应时,我会在下面附加错误。Bot在web/skype上正常工作,唯一的问题是我们的unity实现 我想知道我们在这篇文章中遗漏了什么,以便从bot那里得到适当的回应 由于Unity缺少浏览器开发人员工具包中的Network/XHR等功能,因此我们使用Fiddler获得这些结果: 以下是发送到聊天机器人的帖子: POSThttps://directline.botframewor

我们正在尝试使用连接Unity应用程序和聊天机器人。使用bot启动新的对话工作正常,但当我尝试向它发送消息而不是得到响应时,我会在下面附加错误。Bot在web/skype上正常工作,唯一的问题是我们的unity实现

我想知道我们在这篇文章中遗漏了什么,以便从bot那里得到适当的回应

由于Unity缺少浏览器开发人员工具包中的Network/XHR等功能,因此我们使用Fiddler获得这些结果:

以下是发送到聊天机器人的帖子:

POSThttps://directline.botframework.com/v3/directline/conversations/CRar7Qz6VaEmIeMR6UmUC/activities HTTP/1.1
主持人:directline.botframework.com
用户代理:UnityPlayer/2017.3.1f1(UnityWebRequest/1.0,libcurl/7.51.0-DEV)
接受:*/*
接受编码:标识
传输编码:分块
授权:持票人XXX.edited\u out.XXX
内容类型:application/json
X-Unity-Version:2017.3.1f1
76
{“type”:“message”,“channelId”:“directline”,“from”:{“id”:“default user”,“name”:“user”},“text”:“message text”}

0在2017.3.X版本实施后发生了一些变化,他们开始使用传输编码:chunked Header,这导致这些数字出现在我们的JSON周围。为了防止这种行为,我们需要做的就是在创建
UnityWebRequest:webRequest.chunkedTransfer=false

2017.3.X版本的后期实现发生了一些变化,他们开始使用传输编码:chunked Header,这导致这些数字出现在我们的JSON周围。为了防止这种行为,我们需要做的就是在创建
UnityWebRequest:webRequest.chunkedTransfer=false

在中,UnityWebRequest.chunkedTransfer属性的默认值为true,如您所述,为了防止出现这种情况,我们可以显式设置:

UnityWebRequest.chunkedTransfer = false;
此外,在中,UnityWebRequest.chunkedTransfer属性的默认值为false。因此,如果升级并使用最新版本,可能不会导致此问题

在中,UnityWebRequest.chunkedTransfer属性的默认值为true,如您所述,为了防止出现这种情况,我们可以显式设置:

UnityWebRequest.chunkedTransfer = false;
此外,在中,UnityWebRequest.chunkedTransfer属性的默认值为false。因此,如果升级并使用最新版本,可能不会导致此问题


我想知道fiddler
76{“type”:“message”,“channelId”:“directline”,“from”:{“id”:“default user”,“name”:“user”},“text”:“message text”}0捕获的请求正文是否真的包含76和0。显然,它不是有效的活动实体。您可以检查生成请求正文的代码是否有问题。是的,这些数字是fiddler中POST的一部分。最后,我们发现Unity在2017.3.X版本中对其后期实现做了一些更改,并开始使用传输编码:chunked Header,这导致这些数字出现在我们的JSON周围。为了防止这种行为,我们需要做的就是在创建UnityWebRequest:webRequest.chunkedTransfer=false之后添加这行代码;我想知道fiddler
76{“type”:“message”,“channelId”:“directline”,“from”:{“id”:“default user”,“name”:“user”},“text”:“message text”}0
捕获的请求体是否真的包含76和0。显然,它不是有效的活动实体。您可以检查生成请求正文的代码是否有问题。是的,这些数字是fiddler中POST的一部分。最后,我们发现Unity在2017.3.X版本中对其后期实现做了一些更改,并开始使用传输编码:chunked Header,这导致这些数字出现在我们的JSON周围。为了防止这种行为,我们需要做的就是在创建UnityWebRequest:webRequest.chunkedTransfer=false之后添加这行代码;