[英]Orion Context Broker, subscription format “JSON”
我在contextBroker上做一個簡單的訂閱,我正在訂閱我的節點應用程序。
之后它返回200狀態OK,並在mongo,orion db中插入行。
問題是集合csubs格式中的字段是“XML”,當我記錄contextBroker發送它的主體時,在我的節點應用程序上,它從訂閱的節點記錄此日志
空身。 然后,當我將mongo中的格式更改為“JSON”時,一切正常。 正文從contextBroker返回數據。
我的問題是,如何使contextBroker在格式字段中插入默認的“JSON”。
更新:
contextBroker的版本是0.26.1
UPDATE
在這里,我嘗試使用attributeFormat = object使其在格式字段中插入“JSON”,但它仍然是“XML”
Orion Context Broker基於用於與這些通知相關聯的訂閱上下文操作的響應的編碼來選擇通知的編碼。 請注意,在這種情況下,響應是XML格式,因此您將收到XML格式的通知。
我猜你在響應中得到了XML,因為訂閱上下文請求中沒有使用Accept
HTTP頭,這隱含地是Acccept: */*
,這意味着客戶端沒有關於編碼的偏好。 在這種情況下,Orion選擇了XML(由於遺留原因保留了與僅支持XML的舊Orion版本的向后兼容性)。
因此,這種情況有兩種可能的解決方案:
Accept: application/json
。 ?notifyFormat=json
以“強制”通知以JSON POST /v1/subscribeContext?notifyFormat=json
發送(例如POST /v1/subscribeContext?notifyFormat=json
),無論用於響應訂閱上下文操作的編碼如何。 附注 :ONTIMEINTERVAL訂閱(屏幕截圖中顯示的訂閱) 已棄用 。 因此,建議您使用ONCHANGE停止使用它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.