简体   繁体   中英

Can't notify from Orion context Broker v2 to Cepheus context broker v1

Despite of set attrsFormtat to legacy it's not working, I get Missing parameter: updateAction

Any suggestions?

Thanks.

EDITED: I try it in a million ways and i can't handle this always getting the same error.

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

I am not an expert in Cepheus Broker but I have a bit of experience playing with Cepheus CEP and Orion Context Broker in FIWARE ecosystem, maybe I can be useful.

According to the official documentation of CEP, you should be deploying Cepheus Broker before Orion Context Broker instead after. I know that both speak the same NGSI API so it should be the same, but I am not completely sure about that. Any particular reason why you are deploying these components in that order?

在此处输入图片说明

I make a little experiment using official Docker images of Cepheus Broker and Orion context Broker, creating context subscriptions through v1 and v2 Orion APIs. The same error as you on Cepheus Broker logs.

Then I proved with this little app made by Fiware fellows, that you can use for debbuging NGSI context subscriptions. I tried with v1 and v2 subscriptions, with legacy and no legacy in v2 and any of this produces a "updateAction" field in the request. Then I realized that as far as I know, within the NGSI API methods the only service that receives the updateAction parameter is the updateContext service.

May be Cepheus can not connect with Orion Context Broker through Context Subscription mechanism. Maybe he's waiting for a context update instead a context change notification.

Sorry for not being of more help.

Regards!

You are trying to make Orion send a notifyContext request to the updateContext endpoint of Cepheus CEP. This cannot work as an updateContext request is expected to contain an updateAction field in the payload according to the NGSI v1 protocol.

Cepheus CEP expects notifications from subscriptions to be done to its notifyContext endpoint.

Moreover Cepheus CEP will send its own subscription requests to Orion when properly setup (you must declare Orion as a provider in the CEP configuration). It will ask Orion to send back notification to the correct endpoint.

Finaly, you cannot make the subscription on behalf of Cepheus CEP like you are trying to do: Cepheus CEP will only accepts notifications for the subscriptions it made itself because it validates the subscription ids of all notification it receives.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM