1

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

我正在使用两种形式,这两种形式都不利于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 Stringreference属性生成下一个

...."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"
  ]
}

提前致谢。

4

1 回答 1

1

Orion 用户手册中描述了参考元素:

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

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

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

于 2014-12-12T15:19:03.110 回答