[ https://jira.fiware.org/browse/HELP-14008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] FW External User updated HELP-14008: ------------------------------------ Actually I’ve discovered the issue is worse than I thought. If I have an Entity with an existing object attribute in Orion (e.g.Postal Address) And then I add in **any** field into the context (e.g. a Number for temperature) then the Object attribute appears as "" when the Entity is requested: e.g.: curl -X POST \ 'http://localhost:1026/v2/op/update' \ -H 'Content-Type: application/json' \ -g -d '{ "actionType": "APPEND", "entities": [ { "id":"urn:ngsi-ld:Store:004","type":"Store", "address":{"type":"PostalAddress","value":{"streetAddress":"Panoramastraße 1A","addressRegion":"Berlin","addressLocality":"Mitte","postalCode":"10178"}}, "location":{"type":"geo:json","value":{"type":"Point","coordinates":[13.4094,52.5208]}}, "name":{"type":"Text","value":"Tower Trödelmarkt"} } ] }’ curl -X POST \ 'http://localhost:1026/v2/registrations' \ -H 'Cache-Control: no-cache' \ -H 'Content-Type: application/json' \ -d '{ "description": "Relative Humidity Context Source", "dataProvided": { "entities": [ { "id": "urn:ngsi-ld:Store:004", "type": "Store" } ], "attrs": [ "temperature" ] }, "provider": { "http": { "url": "http://context-provider:3000/proxy/random/number/temperature" }, "legacyForwarding": true } }’ curl -X GET \ 'http://localhost:1026/v2/entities/urn:ngsi-ld:Store:004' Response: { "id": "urn:ngsi-ld:Store:004", "type": "Store", "address": { "type": "PostalAddress", "value": "", "metadata": {} }, "location": { "type": "geo:json", "value": "", "metadata": {} }, "name": { "type": "Text", "value": "Tower Trödelmarkt", "metadata": {} }, "temperature": { "type": "Number", "value": "29", "metadata": {} } } Postal Address has disappeared. I would add this to the JIRA ticket, but I don’t have a log-in. Regards, Jason. > [fiware-stackoverflow] Non-Primitive Values from a Registered Content Provider are not showing a value > ------------------------------------------------------------------------------------------------------ > > Key: HELP-14008 > URL: https://jira.fiware.org/browse/HELP-14008 > Project: Help-Desk > Issue Type: Monitor > Components: FIWARE-TECH-HELP > Reporter: Backlog Manager > Assignee: Jose Manuel Cantera > Labels: arrays, fiware, fiware-orion, json > > Created question in FIWARE Q/A platform on 20-04-2018 at 17:04 > {color: red}Please, ANSWER this question AT{color} https://stackoverflow.com/questions/49945250/non-primitive-values-from-a-registered-content-provider-are-not-showing-a-value > +Question:+ > Non-Primitive Values from a Registered Content Provider are not showing a value > +Description:+ > I'm using the /v2/registrations endpoint to register a content provider with the legacyForwarding flag being set. Therefore my Content Provider is offering the v1/queryContext endpoint > When I am returning a simple value (Integer, String etc.) such as a temperature the data is added to the context correctly: > { > "contextResponses": [ > { > "contextElement": { > "attributes": [ > { > "name": "temperature", > "type": "Number", > "value": 27 > } > ], > "id": "urn:ngsi-ld:Store:001", > "isPattern": "false", > "type": "Store" > }, > "statusCode": { > "code": "200", > "reasonPhrase": "OK" > } > } > ] > } > However when trying to return an array of strings as shown from a Context Provider. > { > "contextResponses": [ > { > "contextElement": { > "attributes": [ > { > "name": "tweets", > "type": "Array", > "value": [ > "String 1", > "String 2" > ] > } > ], > "id": "urn:ngsi-ld:Store:002", > "isPattern": "false", > "type": "Store" > }, > "statusCode": { > "code": "200", > "reasonPhrase": "OK" > } > } > ] > } > I can see the request being sent in the log and I can retrieve the following entity: > { > "id": "urn:ngsi-ld:Store:002", > "type": "Store", > "address": { > "type": "PostalAddress", > "value": "", > "metadata": {} > }, > "location": { > "type": "geo:json", > "value": "", > "metadata": {} > }, > "name": { > "type": "Text", > "value": "Checkpoint Markt", > "metadata": {} > }, > "tweets": { > "type": "Array", > "value": "", > "metadata": {} > } > } > As you can see the "tweets" value is blank, but the attribute exists and the type has been successfully received. > My question is how should I return an Array or an Object as a value from a Content Provider so that Orion is able to display the data received correctly? -- 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