尝试连接到我的Orion CB,其中包含通过IoTAgentCPP / IDAS创建的实体 . 两者都是最新的Docker版本(okt 30 2015) . 使用FIGWAY Python脚本完成所有工作:创建IDAS服务,注册设备,发送观察,通过OCB查看实体创建和更改的属性 .
但是使用任何WireCloud Mashup小部件,例如向NSB发送NSGI请求的NGSI浏览器小部件,小部件仍然是空白的,因为OCB发回:
{
"errorCode" : {
"code" : "404",
"reasonPhrase" : "No context element found"
}
}
通过curl查询时也会收到此回复: curl my_remote_ocb_host:1026/v1/contextEntities -S --header 'Accept: application/json'
如果我将 Headers --header 'Fiware-Service: fiwareiot'
(在创建物联网服务时指定了IDAS)添加到curl命令行,那么我会从OCB获得预期的响应 .
但是,WC中的Widgets和Operators无法添加 Fiware-Service
HTTP-Header . 这是我通过实验室代理从WC收到的,使用协议捕获,在OCB主机上:
POST /v1/queryContext?limit=20&details=on&offset=0 HTTP/1.1
Host: <myhost>:1026
origin: https://mashup.lab.fiware.org
Cookie: ..
Content-Length: 45
via: 1.1 mashup.lab.fiware.org (Wirecloud-python-Proxy/1.1)
accept-language: en-US,en;q=0.8,de;q=0.6,fr;q=0.4,nl;q=0.2,it;q=0.2
accept-encoding: gzip, deflate
x-forwarded-host: <myhost>:1026
x-forwarded-for: ..
accept: application/json
user-agent: ..
connection: keep-alive
x-requested-with: XMLHttpRequest
referer: https://mashup.lab.fiware.org/justb4/GeonovumTemperature1
X-Auth-Token: ..
content-type: application/json
{"entities":[{"id":".*","isPattern":"true"}]}
Response: HTTP/1.1 200 OK
Content-Length: 94
Content-Type: application/json
Date: Sat, 31 Oct 2015 13:23:44 GMT
{
"errorCode" : {
"code" : "404",
"reasonPhrase" : "No context element found"
}
}
可能需要扩展WC Widgets / Operators的设置以允许Fiware-Service HTTP标头,还是有另一种方法可以使用当前的可能性来实现这一点?
1 回答
WireCloud支持在编写小部件和运算符时添加
FIWARE-Service
标头(有关详细信息,请参阅documentation) . 因此,可以通过更新FIWARE Lab中提供的基本小部件和操作符集来修复此问题,以支持FIWARE-Service
标头 .我已经在NGSI Browser小部件的问题跟踪器中为您创建了一个ticket . 请为其他小部件/操作员创建这样的票证 .