Problèmes avec HTTParty.post et Ruby 1.9.2
Question
J'ai déjà eu l'appel suivant fonctionne très bien sur une application Rails en cours d'exécution Ruby 1.8.7:
HTTParty.post("my uri", :body => "some body", :headers => { "Content-type" => "text/xml"})
Quand je lance la même ligne sur Ruby 1.9.2 Je reçois MultiXml::ParseError
avec ce message:
"xmlns: URI xyz is not absolute"
L'appel à mes œuvres uri très bien quand je CURL, et je reviens la réponse attendue, ce qui ressemble à ceci:
<client login="foo" numsessions="1" xmlns="xyz"/>
Toute idée?
La solution
Après beaucoup de lutte, j'ai renoncé pour cela sur HTTParty. J'ai essayé Patron, qui a travaillé locale, mais n'a pas Heroku, et je me suis finalement installé sur RESTClient, qui fonctionnait très bien. https://github.com/archiloque/rest-client
Autres conseils
C'est parce que CURL ne cherche pas à analyser les xmlns. Vous pouvez essayer soit en vous assurant d'utiliser la même version de httparty 1.9.2 que vous utilisez avec 1.8.7 ou de demander aux responsables de cette uri pour rendre les xmlns valide