2016-05-25 3 views
1

Wir testen, wie Attribute in der Tourguide-Anwendung abgerufen werden (https://github.com/Fiware/tutorials.TourGuide-App) und scheint nicht ordnungsgemäß zu funktionieren.Der Attributwert kann nicht als JSON abgerufen werden, wenn der Header 'Fiware-Service: tourguide' verwendet wird

Wenn wir durchführen:

curl -v <cb_host>:<cb_port>/v2/Entities/0115206c51f60b48b77e4c937835795c33bb953f/attrs/name/value -s -S --header 'Fiware-Service: tourguide'

wir

{"error":"NotAcceptable","description":"accepted MIME types: text/plain"}

bekommen Aber wenn wir durchführen:

curl -v <cb_host>:<cb_port>/v2/Entities/0115206c51f60b48b77e4c937835795c33bb953f/attrs/name/value -s -S --header 'Fiware-Service: tourguide' --header 'Accept: text/plain'

wir das erwarten bekommen ed Wert:

Elizalde

Wir versuchten, die JSON-Antwort zu zwingen, mit:

curl -v <cb_host>:<cb_port>/v2/Entities/0115206c51f60b48b77e4c937835795c33bb953f/attrs/name/value -s -S --header 'Fiware-Service: tourguide' --header 'Accept: application/json'

aber wir bekommen den gleichen Fehler:

{"error":"NotAcceptable","description":"accepted MIME types: text/plain"}

Wir einige durchgeführt haben zusätzliche Tests.

Wir schaffen die Bcn-Welt Entität wie in https://github.com/telefonicaid/fiware-orion/blob/develop/doc/apiary/v2/fiware-ngsiv2-reference.apib#L922

beschrieben Wenn wir durchführen:

curl -v <cb_host>:<cb_port>/v2/Entities/Bcn-Welt/attrs/humidity/value wir den Erwartungswert erhalten.

Aber wenn wir schaffen das Unternehmen mit dem Fiware-service: tourguide Header und die Anforderung erneut durchführen (unter Verwendung der Fiware-Service: tourguide header):

curl -v <cb_host>:<cb_port>/v2/Entities/Bcn-Welt/attrs/humidity/value -s -S --header 'Fiware-Service: tourguide'

erhalten wir:

{"error":"NotAcceptable","description":"accepted MIME types: text/plain"}

Informationen über die Context-Broker-Version verwendet

{ "orion" : { "version" : "1.1.0-next", "uptime" : "0 d, 2 h, 16 m, 2 s", "git_hash" : "2397fd46be54008409e7b2e4d29e572a2c598f2c", "compile_time" : "Tue May 24 10:38:00 UTC 2016", "compiled_by" : "root", "compiled_in" : "838a42ae8431" } }

Antwort

1

Von NGSIv2 specification, bei GET Attributwert Betrieb (GET /v2/entities/entityId/attrs/attrName/value):

If response payload MIME type is application/json:

  • ...
  • If attribute value is a string, number, null or boolean, a HTTP error "406 Not Acceptable: accepted MIME types: text/plain" is returned.

So scheint es, dass das Verhalten als erwartet ist.

Randbemerkung: Sie sollten nicht /v2/Entities/... in den URLs verwenden, aber /v2/entities (Kleinbuchstaben 'E') wie in der NGSIv2-Spezifikation definiert.

+0

Danke, wir werden ein anderes Feld für das Kochbuchbeispiel verwenden. –

+0

Wir haben Zweifel über das Betriebsverhalten, wenn wir den Header 'Accept */*' verwenden, versucht der Context Broker, ein nicht unterstütztes Format zurückzugeben: GET/v2/Entitäten/Bcn-Welt/attrs/feuchtigkeit/wert HTTP/1.1 User-Agent: curl/7.35.0 Host: orion: 1026 Accept: */* HTTP/1.1 406 Not Acceptable Connection: Keep-Alive- Content-Length: 73 Content-Type: application/json Fiware-Korrelator: 11f9e63e-2324-11e6-9391-0242ac11000d Datum: Do, 26. Mai 2016 09.27.30 GMT * Anschluss # 0 orion Gastgeber intakt gelassen { "erro r ":" NotAcceptable "," description ":" akzeptierte MIME-Typen: text/plain "} –

+0

Um Themen bei SOF nicht im selben Beitrag zu mischen ... könntest du bitte diesen neuen Zweifel in einem neuen Fragebeitrag stellen ? Vielen Dank! – fgalan

Verwandte Themen