今まで、私は Fi-Lab/Cloud で作成され、psb-orion-image を使用してスタンドアロン モードで Context Broker インスタンスを使用してきました。ここで、その CB のインスタンスを http://orion.lab.fi-ware.org と連携させたいと考えています。私は XML フォームを使用して作成、更新します...そしてフェデレートするインスタンスの名前は「UPCT:TEMPERATURE:SENSOR」で、センサーの種類は「UPCT:SENSOR」です。
SSH で接続するので、次のフォームを送信します。
(curl localhost:1026/NGSI10/subscribeContext -s -S --header 'Content-Type: application/xml' -d @- | xmllint --format -) <<EOF
<?xml version="1.0"?>
<subscribeContextRequest>
<entityIdList>
<entityId type="UPCT:SENSOR" isPattern="false">
<id>UPCT:TEMPERATURE:SENSOR</id>
</entityId>
</entityIdList>
<reference>http://orion.lab.fi-ware.eu:1026/ngsi10/notifyContext</reference>
<duration>P1M</duration>
<notifyConditions>
<notifyCondition>
<type>ONCHANGE</type>
<condValueList>
<condValue>temperature</condValue>
</condValueList>
</notifyCondition>
</notifyConditions>
<throttling>PT5S</throttling>
</subscribeContextRequest>
EOF
そして、サブスクリプション ID とともに、正しい応答が得られます。ただし、インスタンスの contextValue を更新してhttp://orion.lab.fi.ware.eu:1026にクエリを送信しようとすると、次のエラーが表示されます。
-:1: パーサー エラー: 開始タグが必要です。'<' が見つかりません Auth-token がリクエスト ヘッダーに見つかりません ^
に示されているように、インスタンスに更新するのと同じ値を取得する必要があると思います
何が問題なのか、どうすればグローバル CB にフェデレートできるのかを知る必要があります。
ありがとうございました