此处描述的错误来自Orion Context Broker v 0.11.0
当我对简单请求(包含少量contextElements / contextAttributes)使用updateContext
操作时,从来没有问题,updateContext
操作总是成功。
但是,当我增加请求的复杂性(添加更多contextElements
)时,orion上下文代理只是崩溃而请求失败。
我在pastebin上添加了一个请求,因此每次都失败了:
在请求中,有5个contextElements
,每个contextAttributes
的数量为FIWARE WIKI
,总大小为35.1 kB。根据{{1}}上提供的文档,最大请求大小为1MB,仍远低于此请求的大小。
我发现如果我发送5个单独的请求(仅包含上面提供的contextElement
中的一个udpateRequest
),那么每个请求都会成功而没有错误。
答案 0 :(得分:0)
我们已经深入研究了这个问题,它似乎是Orion Context Broker代码中的一个错误(参见https://github.com/telefonicaid/fiware-orion/issues/333)。我们计划为下一个版本修复它(Orion 0.12.0,即将发布)。
我建议您在GitHub中订阅该问题,因为我们会在修复此错误后立即关闭此问题。
编辑:Orion 0.12.0(解决了这个问题)已经发布,所以推荐它升级到这个。
答案 1 :(得分:0)
经过一番挖掘,崩溃似乎在我们用于解析XML的rapidxml库中。 如果可能的话,当我们对此进行排序时,我建议您尽可能地分割消息以最小化有效负载。
[它在WallPlugPowerConsumption(81.259)属性的时间戳元数据(2014-04-23T12:43:44.254Z)中崩溃,如果我在此属性之前剪切消息,则请求有效。 ]