Не удается уведомить посредника по контексту Orion v2 к посреднику по контексту Cepheus v1
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 будет принимать уведомления только для тех подписок, которые она сама сделала, потому что она проверяет идентификаторы подписок всех уведомлений, которые она получает.