Пытаюсь подключиться к моему Orion CB, в котором есть сущности, созданные с помощью IoTAgentCPP/IDAS. Оба имеют последнюю версию Docker (30 октября 2015 г.). Все отлично работает с использованием скриптов FIGWAY Python: создание службы IDAS, регистрация устройства, отправка наблюдения, см. Объект, созданный и измененный атрибутами через OCB.
Но при использовании любого виджета WireCloud Mashup, такого как виджет браузера NGSI, который отправляет запросы NSGI в OCB, виджет остается пустым, поскольку OCB отправляет обратно:
{
"errorCode" : {
"code" : "404",
"reasonPhrase" : "No context element found"
}
}
Этот ответ также получен при запросе через curl: curl my_remote_ocb_host:1026/v1/contextEntities -S --header 'Accept: application/json'
Если я добавлю заголовок --header 'Fiware-Service: fiwareiot'
(который был указан при создании IoT-сервиса с IDAS) в командную строку curl, то я получаю ожидаемые ответы от OCB.
Однако виджеты и операторы в WC не имеют средств для добавления Fiware-Service
HTTP-заголовка. Вот что я получаю от WC через прокси-сервер Lab, используя захват протокола, на хосте 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, чтобы разрешить HTTP-заголовки Fiware-Service, или есть другой способ сделать это, используя текущие возможности?