我目前正在尝试订阅Orion和Cosmos。发送到Orion的所有数据均得到更新,没有任何问题。但是,当发布到http://xxx.xxx.xx.xx:1026/v1/subscribeContext时,出现以下错误:
{
"subscribeError": {
"errorCode": {
"code": "400",
"reasonPhrase": "Bad Request",
"details": "JSON Parse Error"
}
}
}
这是我发送的json字符串:
{
"entities": [
{
"type": "Location",
"isPattern": "false",
"id": "Device-1"
}
],
"reference": "http://52.31.144.170:5050/notify",
"duration": "PT10S",
"notifyConditions": [
{
"type": "ONCHANGE",
"condValues": [
"position"
]
}
],
"attributes": [
"position"
]
}
在Orion中更新OK的实体为:
{
"type": "Location",
"isPattern": "false",
"id": "Device-1",
"attributes": [
{
"name": "position",
"type": "coords",
"value": "24,21",
"metadatas": [
{
"name": "location",
"type": "string",
"value": "WGS84"
}
]
},
{
"name": "id",
"type": "device",
"value": "1"
}
]
}
我尝试了来自readthedocs的许多不同示例,但StackOverflow中的其他响应均未成功。
哪种是正确的格式?我应该在使用/ contextEntities更新Orion之前或之后调用/ subscribeContext吗?
Orion上下文代理版本为0.26.1。
先感谢您。
最佳答案
考虑到使用curl发送时,相同的有效负载可以正常工作(请参见此execution session),我倾向于认为客户端中的某些问题(可能被编程框架隐藏了)是造成此问题的原因。
关于fiware - Orion JSON错误请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34730683/