2016-08-21 1 views
0

J'ai passé beaucoup de temps sur l'essai et l'erreur pour la fonction makeWebRequest. En utilisant un service très simple, cela fonctionne pour JSON, mais pas pour XML.échec de makeWebRequest pour XML, OK JSON sur Garmin Connect IQ

var url = "http://www.broadbandmap.gov/broadbandmap/demographic/jun2014/nation"; 
// WORKS 
Comm.makeWebRequest(url, {"format" => "json"}, {}, method(:onReceive)); 
// FAILS for XML with responseCode "Failed to load Error: -400" 
Comm.makeWebRequest(url, {}, {}, method(:onReceive)); 

Pour le scénario XML, j'ai essayé toutes sortes d'options différentes, mais échoue toujours. Quelqu'un qui peut faire un exemple de travail?

+0

Avez-vous travaillé Henrik? Certains commentaires seraient appréciés puisque j'ai pris le temps de faire des recherches et de répondre à votre question. –

Répondre

0

Est-ce que XML devrait même être supporté? D'après ce que je comprends de la documentation, ce n'est pas:

: responseType (Number) - Le format de la réponse. Devrait être une valeur HTTP_RESPONSE_CONTENT_TYPE_ * . Si ce n'est pas le cas, le système tentera de d'abord analyser la réponse en JSON, puis en URL ENCODED.

https://developer.garmin.com/downloads/connect-iq/monkey-c/doc/Toybox/Communications.html#makeWebRequest-instance_method

XML est jamais mentionné sur la page.

Si c'est bien l'API que vous souhaitez utiliser (et pas seulement un exemple), y a-t-il une raison pour laquelle vous ne pouvez pas demander et traiter une réponse au format JSON?

http://www.broadbandmap.gov/broadbandmap/demographic/jun2014/nation?format=json