[英]Global Context Broker Federation
到目前為止,我一直在以獨立模式在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。 但是,如果更新實例的contextValue並嘗試將查詢發送到http://orion.lab.fi.ware.eu:1026,則會收到錯誤消息:
-:1:解析器錯誤:預期開始標記,在請求標頭^中找不到'<'找不到身份驗證令牌
我認為我應該獲得與實例更新相同的值,如
我需要知道哪里出了問題以及如何才能成為全球CB的聯合會。
謝謝
該錯誤消息是由於在orion.lab.fi-ware.org上發送到Orion實例的任何請求(包括其他Orion實例發送的通知)必須使用驗證。 目前(即版本0.14.1),Orion不在通知中包括身份驗證所需的X-Auth-Token(請參閱程序員的快速入門)。
但是,通常的用例是在Orion.lab.fi-ware.org上將Orion與私有Orion用戶實例(即orion.lab.fi-ware.org->您的Orion)聯合,而不是以相反的方式(即您的Orion- > orion.lab.fi-ware.org)。 假定您通常要做的是將公共信息(例如,桑坦德城市傳感器)與私人信息(例如,傳感器產生的信息)合並。 聯合orion.lab.fi-ware.org->這樣的Orion應該可以正常工作。
編輯: Orion 0.14.1中的限制已被克服,當前的Orion版本(2.0.0)在通知中傳播X-Auth-Token標頭(我不記得哪個確切版本介於0.14.1和2.0.0之間,抱歉...)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.