Orion Context Broker Fiware中订阅的属性参考

时间:2014-12-11 19:14:04

标签: fiware-orion fiware

我需要在引用属性中添加什么内容?

我使用了两种形式,而这两种形式对Orion Context Broker不利:

URL url = new URL("http://130.206.127.23:1026/ngsi10/notifyContext");
//String url = "http://localhost:1028/accumulate";
cabecera.put("reference", ""+url);

使用此代码,我为JSON String属性

生成下一个reference
...."reference":"http:\/\/130.206.127.23:1026\/ngsi10\/notifyContext",...

这是OCB

的回应
<subscribeContextResponse>
  <subscribeError>
    <errorCode>
      <code>400</code>
      <reasonPhrase>Bad Request</reasonPhrase>
      <details>JSON Parse Error: <unspecified file>(1): invalid escape sequence</details>
    </errorCode>
  </subscribeError>
</subscribeContextResponse>

还与此参数相关,我是否需要在服务器中执行程序才能接收有关我的订阅的信息? 我可以从Orion Context Broker资源中获取一个程序来执行此任务吗?

以下是我的JSON来调用服务,但我不确定引用属性。我想发送订阅我的Orion Context Broker实例。我发送这个JSON:

{
  "duration": "P1M",
  "reference": "http://130.206.127.23:1026/ngsi10/notifyContext",
  "notifyConditions": [
    {
      "condValues": [
        "PT10s"
      ],
      "type": "ONTIMEINTERVAL"
    }
  ],
  "entities": [
    {
      "id": "1.0",
      "type": "Capsule",
      "isPattern": "false"
    }
  ],
  "attributes": [
    "temperature"
  ]
}

提前致谢。

1 个答案:

答案 0 :(得分:1)

参考元素在the Orion User Manual

中描述
  

使用引用定义发送通知的回调URL   元件。

因此,如果您的引用是http://130.206.127.23:1026/ngsi10/notifyContext,如示例所示,您应该在主机130.206.127.23端口1026上侦听REST服务器,能够在/ngsi10/notifyContext路径中接收通知。请注意,您的CB(我的意思是,您发送subscribeContext请求的那个)是发送通知的actor,而不是接收它们的actor,因此不能在130.206.127.23运行: 1026。

您可以使用任何所需的编程语言实现通知接收程序(只要它实现了所需的REST服务器接口)。您可以查看accumulator-server.py,这是一个&#34;虚拟&#34;通过Python实现的通知接收器示例,用于测试。