[ https://jira.fiware.org/browse/HELP-15141?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jose Manuel Cantera updated HELP-15141: --------------------------------------- Status: In Progress (was: Open) > [fiware-stackoverflow] Conflict Error when obtaining attributes in FIWARE Orion Context Broker > ---------------------------------------------------------------------------------------------- > > Key: HELP-15141 > URL: https://jira.fiware.org/browse/HELP-15141 > Project: Help-Desk > Issue Type: Monitor > Components: FIWARE-TECH-HELP > Reporter: Backlog Manager > Assignee: Jose Manuel Cantera > Labels: attributes, fiware, fiware-orion, id, name-conflict > > Created question in FIWARE Q/A platform on 10-12-2018 at 18:12 > {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/53710837/conflict-error-when-obtaining-attributes-in-fiware-orion-context-broker > +Question:+ > Conflict Error when obtaining attributes in FIWARE Orion Context Broker > +Description:+ > I cannot get any entity attribute when I have context provider registered. I constantly get the same 409 conflict error. How can I prevent having two objects with the same id and merge them into one? > SETUP > I have whole Orion Context Broker all setup and running after following this commands: > docker pull mongo:3.6 > docker pull fiware/orion:2.0.0 > 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:2.0.0 -dbhost mongo-db > ENTITIES > I have one Car entity: > { > "id": "urn:ngsi-ld:Car:001", > "type": "Car", > "brandName": { > "type": "Property", > "value": "Mercedes", > "metadata": {} > }, > "location": { > "type": "geo:json", > "value": { > "type": "Point", > "coordinates": [ > 0, > 0 > ] > }, > "metadata": {} > }, > "name": { > "type": "Text", > "value": "MyCar", > "metadata": {} > } > } > Moreover I also registered my Context Provider: > { > "description": "Temperature", > "dataProvided": { > "entities": [ > { > "id": "urn:ngsi-ld:Car:001", > "type": "Car" > } > ], > "attrs": [ > "temperature" > ] > }, > "provider": { > "http": { > "url": "http://192.168.xxx.xxx:8080/temperature/1" > }, > "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/1/queryContext. The JSON data (returned in html body) is in NSGI v1 format and looks like that: > { > "contextResponses": [ > { > "contextElement": { > "attributes": [ > { > "name": "temperature", > "type": "float", > "value": "-10" > } > ], > "id": "urn:ngsi-ld:Car:001", > "isPattern": "false", > "type": "Car" > }, > "statusCode": { > "code": "200", > "reasonPhrase": "OK" > } > } > ] > } > PROBLEM > When I try to get attribute (location) without registered context, it works fine for me, but after context registration it fails (I get 409 Conflict Error). > { > "error": "TooManyResults", > "description": "More than one matching entity. Please refine your query" > } > On the other hand, I can remove entity by id and then I can get temperature for not existing object. > When I have both entity and context provider for this entity and I make this query: > curl GET 'http://localhost:1026/v2/entities?type=Car&options=keyValues' > I receive list of objects with the same ids: > [{"id":"urn:ngsi-ld:Car:001","type":"Car","brandName":"Mercedes","location":,"name":"MyCar"},{"id":"urn:nsgi-ld:Car:001","type":"Car","temperature":"-10"}] > What should I do to prevent this id conflict? How to prevent having two objects with the same id when registering context provider? -- This message was sent by Atlassian JIRA (v6.4.1#64016)
You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy Cookies policy