Не удается уведомить посредника по контексту Orion v2 к посреднику по контексту Cepheus v1

Несмотря на то, что атрибут attrsFormtat установлен в прежнее состояние, он не работает, я получаю параметр Missing: updateAction

Какие-либо предложения?

Благодарю.

Отредактировано: я пробую это миллионами способов, и я не могу справиться с этим, всегда получая ту же ошибку.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

2 ответа

Решение

Я не являюсь экспертом в Cepheus Broker, но у меня есть небольшой опыт работы с Cepheus CEP и Orion Context Broker в экосистеме FIWARE, возможно, я могу быть полезен.

Согласно официальной документации CEP, вы должны развертывать Cepheus Broker до Orion Context Broker, а не после. Я знаю, что оба говорят на одном и том же API NGSI, поэтому он должен быть одинаковым, но я не совсем уверен в этом. Есть ли какая-то конкретная причина, по которой вы развертываете эти компоненты в таком порядке?

Я провожу небольшой эксперимент, используя официальные Docker-образы Cepheus Broker и Orion context Broker, создавая контекстные подписки через API Orion v1 и v2. Та же ошибка, что и у вас в логах Cepheus Broker.

Затем я доказал с помощью этого небольшого приложения от Fiware, что его можно использовать для отладки контекстных подписок NGSI. Я пробовал с подписками v1 и v2, с унаследованными и без унаследованных версий v2, и все это приводит к появлению в запросе поля "updateAction". Затем я понял, что, насколько мне известно, в методах API NGSI единственным сервисом, который получает параметр updateAction, является сервис updateContext.

Может быть, Cepheus не может связаться с Orion Context Broker через механизм подписки на контекст. Возможно, он ждет обновления контекста, а не уведомления об изменении контекста.

Извините, что больше не помогаю.

С уважением!

Вы пытаетесь заставить Ориона отправить notifyContext запрос к updateContext Конечная точка Cepheus CEP. Это не может работать как updateContext ожидается, что запрос будет содержать updateAction поле в полезной нагрузке в соответствии с протоколом NGSI v1.

CEPHEUS CEP ожидает, что уведомления от подписок будут сделаны на его notifyContext конечная точка.

Кроме того, Cepheus CEP будет отправлять свои собственные запросы на подписку в Orion при правильной настройке (вы должны объявить Orion в качестве поставщика в конфигурации CEP). Он попросит Orion отправить уведомление в правильную конечную точку.

Наконец, вы не можете сделать подписку от имени Cepheus CEP, как вы пытаетесь это сделать: Cepheus CEP будет принимать уведомления только для тех подписок, которые она сама сделала, потому что она проверяет идентификаторы подписок всех уведомлений, которые она получает.

Другие вопросы по тегам