从Orion上下文代理订阅到另一个Orion上下文代理不起作用
-
20-12-2019 - |
题
我在fi-lab上创建了一个新的Orion实例,以便将其连接到与我们一起管理的CEP实例。将存储在我的Orion实例上的数据必须由位于orion.lab.fi-ware.eu:1026上的现有Orion实例提供
为了使新的Orion实例中的数据可用,将向"主体"Orion实例发送订阅请求。此订阅是一个交换订阅,请求是用url的appropiate头令牌发出的 http://orion.lab.fi-ware.eu:1026/NGSI10/subscribeContext
请求内容如下:
{
"entities": [
{
"type": "location:mytype",
"isPattern": "false",
"id": "x:y:z"
}
],
"attributes": [],
"reference": "http://a.b.c.d:1026/",
"duration": "P1M",
"notifyConditions": [
{
"type": "ONCHANGE",
"condValues": [
"TimeInstant"
]
}
]
}
当我提出这个请求时,响应是:
<subscribeContextResponse>
<subscribeResponse>
<subscriptionId>53d7473d1860a3cb2359ff11</subscriptionId>
<duration>P1M</duration>
</subscribeResponse>
</subscribeContextResponse>
但是当我从原始上下文中的实体'x:y:z'更新属性'TimeInstant'时,我的Orion实例中的类似实体上没有任何更改。所以没有从原始猎户座到我的猎户座的更新请求。
我已经完成了从我的Orion Context Broker实例到Proton引擎的这个ONCHANGE订阅,只是通过将url引用属性从请求更改为接收事件的CEP url。
CB实体与使能从22、8080和1026端口的访问的安全组一起工作。
我认为问题出在URL引用属性中,我已经尝试了a.b.c.d:1026/NGSI10/updateContext,我也有同样的问题。
有人可以给我任何关于我的问题的想法吗?
解决方案
基于 Orion用户手册中的联邦部分:
请注意,引用中使用的URL必须是 "/v1/notifyContext"。
所以我认为使用 "reference": "http://a.b.c.d:1026/v1/notifyContext"
会解决问题。