HTTP-заголовок Fiware-Service необходим для Orion CB

Пытаюсь подключиться к моему 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, или есть другой способ сделать это, используя текущие возможности?


person Just van den Broecke    schedule 31.10.2015    source источник


Ответы (1)


WireCloud поддерживает добавление заголовка FIWARE-Service при программировании виджетов и операторов (см. документацию для получения дополнительной информации). Таким образом, это можно исправить, обновив базовый набор виджетов и операторов, предоставляемых в FIWARE Lab, для поддержки заголовка FIWARE-Service.

Я создал тикет в системе отслеживания ошибок NGSI. Виджет браузера для вас. Пожалуйста, создайте такой тикет для других виджетов/операторов.

ПРИМЕЧАНИЕ. Вы можете перейти к системе отслеживания проблем компонента, открыв сведения о нем и нажав кнопку отслеживания проблем: введите здесь описание изображения

person Álvaro Arranz    schedule 02.11.2015
comment
Хорошо, спасибо Альваро. Я могу подтвердить, что это вопрос настройки (в префах) и добавления HTTP-заголовка Fiware-service. В качестве быстрого хака я изменил main.js в инструментах разработки браузера, чтобы добавить заголовок к объекту NGSIConnection, и это сработало! Позже загружаю модифицированный WGT. Да, все операторы/виджеты, связанные с NGSI, должны быть исправлены с помощью проблем с GH. - person Just van den Broecke; 05.11.2015
comment
Я обновил виджет ngsi-browser, также в маркетплейсе ;-). Пожалуйста, если вы создадите тикеты, я смогу их исправить быстрее, потому что у меня другие задачи :(. - person Álvaro Arranz; 05.11.2015