[Backlogmanager] [FIWARE-JIRA] (HELP-15120) [fiware-stackoverflow] Do I need any proxy to make Context Provider visible by FIWARE Orion Context Broker?

Fernando Lopez (JIRA) jira-help-desk at jira.fiware.org
Tue Jan 8 09:00:00 CET 2019


     [ https://jira.fiware.org/browse/HELP-15120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Fernando Lopez updated HELP-15120:
----------------------------------
    Description: 
Created question in FIWARE Q/A platform on 06-12-2018 at 16:12
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53654763/do-i-need-any-proxy-to-make-context-provider-visible-by-fiware-orion-context-bro


+Question:+
Do I need any proxy to make Context Provider visible by FIWARE Orion Context Broker?

+Description:+
I cannot get an attribute from registered Context Provider in Orion Context Broker installed from docker. Do I need something more (e.g. special context proxy?)



SETUP

I have whole Orion Context Broker all setup and running after following this commands:

docker pull mongo:3.6
docker pull fiware/orion
docker network create fiware_default

docker run -d --name=mongo-db --network=fiware_default \
  --expose=27017 mongo:3.6 --bind_ip_all --smallfiles
docker run -d --name fiware-orion -h orion --network=fiware_default \
  -p 1026:1026  fiware/orion -dbhost mongo-db




ENTITIES

I also added one Store entity (from https://github.com/Fiware/tutorials.Getting-Started tutorial) by running:

    curl -iX POST \
  'http://localhost:1026/v2/entities' \
  -H 'Content-Type: application/json' \
  -d '
{
    "id": "urn:ngsi-ld:Store:001",
    "type": "Store",
    "address": {
        "type": "PostalAddress",
        "value": {
            "streetAddress": "Bornholmer Straße 65",
            "addressRegion": "Berlin",
            "addressLocality": "Prenzlauer Berg",
            "postalCode": "10439"
        }
    },
    "location": {
        "type": "geo:json",
        "value": {
             "type": "Point",
             "coordinates": [13.3986, 52.5547]
        }
    },
    "name": {
        "type": "Text",
        "value": "Bösebrücke Einkauf"
    }
}'


Moreover I also successfully registered my Context Provider:

    curl -iX POST   'http://localhost:1026/v2/registrations'   -H 'Content-Type: application/json'   -d '{
  "description": "Temperature Provider",
  "dataProvided": {
    "entities": [
      {         
        "id": "urn:ngsi-ld:Store:001",
        "type": "Store"
      }                                             
    ],                                
    "attrs": [                                   
      "temperature"
    ]    
  },
  "provider": {
    "http": {
      "url": "http://192.168.xxx.xxx:8080/temperature"
    },                       
     "legacyForwarding": true
  }      
}'




CONTEXT PROVIDER

I exposed locally my Context Provider (exposed by my SpringBoot application written in Java 10) at http://192.168.xxx.xxx:8080/temperature. The JSON data (returned in html body) is in NSGI v1 format and looks like that:

{
  "contextResponses": [
    {
      "contextElement": {
        "attributes": [
          {
            "name": "temperature",
            "type": "float",
            "value": "16"
          }
        ],
        "id": "urn:ngsi-ld:Store:001",
        "isPattern": "false",
        "type": "Store"
      },
      "statusCode": {
        "code": "200",
        "reasonPhrase": "OK"
      }
    }
  ]
}




PROBLEM

When I try to get other entity's attributes (like name) it works fine, but when I try to get temperature attribute with this query:

curl -X GET   'http://192.168.xxx.xxx:1026/v2/entities/urn:ngsi-ld:Store:001/attrs/temperature/value'


I get the following error: 

{"error":"NotFound","description":"The entity does not have such an attribute"}


Logs in the Context Broker docker:

time=2018-12-07T09:18:02.846Z | lvl=WARN | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=AlarmManager.cpp[405]:badInput | msg=Raising alarm BadInput 192.168.115.126: JSON Parse Error: unknown field: /timestamp
time=2018-12-07T09:18:02.847Z | lvl=WARN | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=postQueryContext.cpp[196]:queryForward | msg=Internal Error (error parsing reply from prov app: )


Do I need something more in my setup to make this Context Provider work (e.g. special context proxy)?  


  was:

Created question in FIWARE Q/A platform on 06-12-2018 at 16:12
{color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53654763/do-i-need-any-proxy-to-make-context-provider-visible-by-fiware-orion-context-bro


+Question:+
Do I need any proxy to make Context Provider visible by FIWARE Orion Context Broker?

+Description:+
I cannot get an attribute from registered Context Provider in Orion Context Broker installed from docker. Do I need something more (e.g. special context proxy?)



SETUP

I have whole Orion Context Broker all setup and running after following this commands:

docker pull mongo:3.6
docker pull fiware/orion
docker network create fiware_default

docker run -d --name=mongo-db --network=fiware_default \
  --expose=27017 mongo:3.6 --bind_ip_all --smallfiles
docker run -d --name fiware-orion -h orion --network=fiware_default \
  -p 1026:1026  fiware/orion -dbhost mongo-db




ENTITIES

I also added one Store entity (from https://github.com/Fiware/tutorials.Getting-Started tutorial) by running:

    curl -iX POST \
  'http://localhost:1026/v2/entities' \
  -H 'Content-Type: application/json' \
  -d '
{
    "id": "urn:ngsi-ld:Store:001",
    "type": "Store",
    "address": {
        "type": "PostalAddress",
        "value": {
            "streetAddress": "Bornholmer Straße 65",
            "addressRegion": "Berlin",
            "addressLocality": "Prenzlauer Berg",
            "postalCode": "10439"
        }
    },
    "location": {
        "type": "geo:json",
        "value": {
             "type": "Point",
             "coordinates": [13.3986, 52.5547]
        }
    },
    "name": {
        "type": "Text",
        "value": "Bösebrücke Einkauf"
    }
}'


Moreover I also successfully registered my Context Provider:

    curl -iX POST   'http://localhost:1026/v2/registrations'   -H 'Content-Type: application/json'   -d '{
  "description": "Temperature Provider",
  "dataProvided": {
    "entities": [
      {         
        "id": "urn:ngsi-ld:Store:001",
        "type": "Store"
      }                                             
    ],                                
    "attrs": [                                   
      "temperature"
    ]    
  },
  "provider": {
    "http": {
      "url": "http://192.168.xxx.xxx:8080/temperature"
    },                       
     "legacyForwarding": true
  }      
}'




CONTEXT PROVIDER

I exposed locally my Context Provider (exposed by my SpringBoot application written in Java 10) at http://192.168.xxx.xxx:8080/temperature. The JSON data (returned in html body) is in NSGI v1 format and looks like that:

{
  "contextResponses": [
    {
      "contextElement": {
        "attributes": [
          {
            "name": "temperature",
            "type": "float",
            "value": "16"
          }
        ],
        "id": "urn:ngsi-ld:Store:001",
        "isPattern": "false",
        "type": "Store"
      },
      "statusCode": {
        "code": "200",
        "reasonPhrase": "OK"
      }
    }
  ]
}




PROBLEM

When I try to get other entity's attributes (like name) it works fine, but when I try to get temperature attribute with this query:

curl -X GET   'http://192.168.xxx.xxx:1026/v2/entities/urn:ngsi-ld:Store:001/attrs/temperature/value'


I get the following error: 

{"error":"NotFound","description":"The entity does not have such an attribute"}


Logs in the Context Broker docker:

time=2018-12-07T09:18:02.846Z | lvl=WARN | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=AlarmManager.cpp[405]:badInput | msg=Raising alarm BadInput 192.168.115.126: JSON Parse Error: unknown field: /timestamp
time=2018-12-07T09:18:02.847Z | lvl=WARN | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=postQueryContext.cpp[196]:queryForward | msg=Internal Error (error parsing reply from prov app: )


Do I need something more in my setup to make this Context Provider work (e.g. special context proxy)?  


     HD-Enabler: Orion

> [fiware-stackoverflow] Do I need any proxy to make Context Provider visible by FIWARE Orion Context Broker?
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: HELP-15120
>                 URL: https://jira.fiware.org/browse/HELP-15120
>             Project: Help-Desk
>          Issue Type: Monitor
>          Components: FIWARE-TECH-HELP
>            Reporter: Backlog Manager
>              Labels: docker, fiware, fiware-orion
>
> Created question in FIWARE Q/A platform on 06-12-2018 at 16:12
> {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53654763/do-i-need-any-proxy-to-make-context-provider-visible-by-fiware-orion-context-bro
> +Question:+
> Do I need any proxy to make Context Provider visible by FIWARE Orion Context Broker?
> +Description:+
> I cannot get an attribute from registered Context Provider in Orion Context Broker installed from docker. Do I need something more (e.g. special context proxy?)
> SETUP
> I have whole Orion Context Broker all setup and running after following this commands:
> docker pull mongo:3.6
> docker pull fiware/orion
> docker network create fiware_default
> docker run -d --name=mongo-db --network=fiware_default \
>   --expose=27017 mongo:3.6 --bind_ip_all --smallfiles
> docker run -d --name fiware-orion -h orion --network=fiware_default \
>   -p 1026:1026  fiware/orion -dbhost mongo-db
> ENTITIES
> I also added one Store entity (from https://github.com/Fiware/tutorials.Getting-Started tutorial) by running:
>     curl -iX POST \
>   'http://localhost:1026/v2/entities' \
>   -H 'Content-Type: application/json' \
>   -d '
> {
>     "id": "urn:ngsi-ld:Store:001",
>     "type": "Store",
>     "address": {
>         "type": "PostalAddress",
>         "value": {
>             "streetAddress": "Bornholmer Straße 65",
>             "addressRegion": "Berlin",
>             "addressLocality": "Prenzlauer Berg",
>             "postalCode": "10439"
>         }
>     },
>     "location": {
>         "type": "geo:json",
>         "value": {
>              "type": "Point",
>              "coordinates": [13.3986, 52.5547]
>         }
>     },
>     "name": {
>         "type": "Text",
>         "value": "Bösebrücke Einkauf"
>     }
> }'
> Moreover I also successfully registered my Context Provider:
>     curl -iX POST   'http://localhost:1026/v2/registrations'   -H 'Content-Type: application/json'   -d '{
>   "description": "Temperature Provider",
>   "dataProvided": {
>     "entities": [
>       {         
>         "id": "urn:ngsi-ld:Store:001",
>         "type": "Store"
>       }                                             
>     ],                                
>     "attrs": [                                   
>       "temperature"
>     ]    
>   },
>   "provider": {
>     "http": {
>       "url": "http://192.168.xxx.xxx:8080/temperature"
>     },                       
>      "legacyForwarding": true
>   }      
> }'
> CONTEXT PROVIDER
> I exposed locally my Context Provider (exposed by my SpringBoot application written in Java 10) at http://192.168.xxx.xxx:8080/temperature. The JSON data (returned in html body) is in NSGI v1 format and looks like that:
> {
>   "contextResponses": [
>     {
>       "contextElement": {
>         "attributes": [
>           {
>             "name": "temperature",
>             "type": "float",
>             "value": "16"
>           }
>         ],
>         "id": "urn:ngsi-ld:Store:001",
>         "isPattern": "false",
>         "type": "Store"
>       },
>       "statusCode": {
>         "code": "200",
>         "reasonPhrase": "OK"
>       }
>     }
>   ]
> }
> PROBLEM
> When I try to get other entity's attributes (like name) it works fine, but when I try to get temperature attribute with this query:
> curl -X GET   'http://192.168.xxx.xxx:1026/v2/entities/urn:ngsi-ld:Store:001/attrs/temperature/value'
> I get the following error: 
> {"error":"NotFound","description":"The entity does not have such an attribute"}
> Logs in the Context Broker docker:
> time=2018-12-07T09:18:02.846Z | lvl=WARN | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=AlarmManager.cpp[405]:badInput | msg=Raising alarm BadInput 192.168.115.126: JSON Parse Error: unknown field: /timestamp
> time=2018-12-07T09:18:02.847Z | lvl=WARN | corr=N/A | trans=N/A | from=N/A | srv=N/A | subsrv=N/A | comp=Orion | op=postQueryContext.cpp[196]:queryForward | msg=Internal Error (error parsing reply from prov app: )
> Do I need something more in my setup to make this Context Provider work (e.g. special context proxy)?  



--
This message was sent by Atlassian JIRA
(v6.4.1#64016)


More information about the Backlogmanager mailing list

You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy   Cookies policy