全球背景经纪人联合会

时间:2014-08-12 18:27:31

标签: fiware-orion fiware

到目前为止,我一直在使用Fi-Lab / Cloud创建的独立模式和使用psb-orion-image处理上下文代理实例。现在我想用http // orion.lab.fi-ware.org联合该CB的一个实例。我使用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。但是,如果我更新我的实例的de contextValue并尝试向http://orion.lab.fi.ware.eu:1026发送查询,则会收到错误消息:

- :1:解析器错误:预期开始标记,&#39;&lt;&#39;未找到 在请求标头中找不到身份验证令牌 ^

我认为我应该获得与我的实例更新相同的值,如

中所示

https://forge.fi-ware.org/plugins/mediawiki/wiki/fiware/index.php/Publish/Subscribe_Broker_-_Orion_Context_Broker_-_User_and_Programmers_Guide#Context_Broker_Federation

我需要知道什么是错的,我怎么能联邦政府到全球CB。

谢谢

1 个答案:

答案 0 :(得分:0)

该错误消息是由于发送到orion.lab.fi-ware.org上的Orion实例的任何请求(包括其他Orion实例发送的通知)必须使用autentication。目前(即版本0.14.1),Orion并未在通知中包含身份验证所需的X-Auth-Token(请参阅quick start for programmers)。

然而,通常的用例是orion.lab.fi-ware.org上的Orion与私有Orion用户实例(即orion.lab.fi-ware.org - &gt;您的Orion)联合,而不是相反(即你的猎户座 - > orion.lab.fi-ware.org)正如你所想的那样。这样做通常您要做的是将公共信息(例如桑坦德城市传感器)与私人信息(例如您的传感器产生的信息)合并。联合orion.lab.fi-ware.org - &gt;以这种方式你的猎户座应该完美地工作。

编辑: Orion 0.14.1中的限制已被克服当前的Orion版本(2.0.0)在通知中传播X-Auth-Token标头(我不记得其中)精确版本介于0.14.1和2.0.0之间,对不起......)