fiwarefiware-orionfiware-wirecloud

Orion CB: Can't Access Entities via /v2/entities endpoint


While creating a wirecloud wiring using NGSI Source operator, I encountered an error (helpless error) for couple of days, regarding connection to my instance of Orion CB. I can confirm all other NGSI operator settings entered are correct.

Error creating subscription in the context broker server: Connection Error

I however, suspect this error has to do with Orion NOT finding the entities to subscribe the NGSI Source operator. This is because I tried accessing Eindhoven's broker (http://212.159.228.70:1026/) and it works, NGSI Source operator subscription created successfully.

Equally, I get all entities/attributes in the Eindhoven's broker using:

Akil$http http://212.159.228.70:1026/v2/entities
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 15501
Content-Type: application/json
Date: Mon, 13 May 2019 10:20:20 GMT
Fiware-Correlator: b5e5294a-7568-11e9-83c8-0242ac120003

[
    {
        "NO2": {
            "metadata": {},
            "type": "Number",
            "value": 27.5
        },
        "Ozon": {
            "metadata": {},
            "type": "Number",
            "value": 59.5
        },
        "PM1": {
            "metadata": {},
            "type": "Number",
            "value": 8
        },
        "PM10": {
            "metadata": {},
            "type": "Number",
            "value": 12
        },
   .
   .
}
]

But then I cannot get the entities in my Orion instance using same scenario:

Akil$ http 193.136.xx.xx:53154/v2/entities
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 2
Content-Type: application/json
Date: Mon, 13 May 2019 10:36:13 GMT
Fiware-Correlator: ee22e4b2-756a-11e9-afa1-0242ac160007

[]

Return empty list, whereas I have available 2 FIWARE services: environment and urbansense. The entities I want to access are available with the urbansense fiware-service having /basic fiware-servicepath.

Service health:

Akil$ http 193.136.xx.xx:53154/version
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Length: 345
Content-Type: application/json
Date: Mon, 13 May 2019 10:50:13 GMT
Fiware-Correlator: e32bf3da-756c-11e9-9371-0242ac160007

{
    "orion": {
        "compile_time": "Tue Feb 12 10:51:10 UTC 2019",
        "compiled_by": "root",
        "compiled_in": "4f8128ac7b5b",
        "doc": "https://fiware-orion.rtfd.io/",
        "git_hash": "7ae8c69b97cd875236b952322a6bd503debbd13d",
        "release_date": "Tue Feb 12 10:51:10 UTC 2019",
        "uptime": "6 d, 18 h, 7 m, 6 s",
        "version": "2.1.0-next"
    }
}

Questions:

  1. Why can't I access my Orion instance same way I accessed Eindhoven's broker?
  2. Is this the reason why my wiring for NGSI Source operator failed, thus reporting subscription error above?

Solution

  • I'm not sure of fully understading your case (specially the relationship with Wirecloud, as I'm not an expert in Wirecloud), but let's try to answer... :)

    From:

    [GET /v2/entities] Return empty list, whereas I have available 2 FIWARE services: environment and urbansense. The entities I want to access are available with the urbansense fiware-service having /basic fiware-servicepath.

    If the entities you want to access are available in a given service and subservice, then you should add then to the GET request. I don't know how the http command works, but if it were curl it would be something like this

    curl -H 'fiware-service: environment' and -H 'fiware-servicepath: /basic' http://212.159.228.70:1026/v2/entities