1

参照属性には何を入れる必要がありますか?

私は2つのフォームを使用しています.2つは悪いです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で通知を受信できるホスト 130.206.127.23 ポート 1026 でリッスンする REST サーバーが必要です。/ngsi10/notifyContextCB (つまり、subscribeContext リクエストの送信先) は、通知を受信するアクターではなく、通知を送信するアクターであるため、130.206.127.23:1026 で実行してはならないことに注意してください。

必要な REST サーバー インターフェイスを実装している限り、任意のプログラミング言語で通知受信プログラムを実装できます。accumulator-server.pyを見ることができます。これは、Python で実装された「ダミー」の通知レシーバーの例で、テストに使用されます。

于 2014-12-12T15:19:03.110 に答える