Problemas con HTTParty.post y Ruby 1.9.2
Pregunta
Yo solía tener la siguiente llamada trabajando muy bien en una aplicación Rails ejecución de Ruby 1.8.7:
HTTParty.post("my uri", :body => "some body", :headers => { "Content-type" => "text/xml"})
Cuando ejecuto la misma línea, Ruby 1.9.2 me estoy poniendo un MultiXml::ParseError
con este mensaje:
"xmlns: URI xyz is not absolute"
La llamada a mi uri funciona bien cuando puedo usar curl, y vuelvo a la espera de respuesta, que se ve algo como esto:
<client login="foo" numsessions="1" xmlns="xyz"/>
Cualquier Perspectiva?
Solución
Después de mucha lucha, renuncié a HttParty por esto. Intenté Patron, que funcionó local, pero no en Heroku, y finalmente me decidí por Restclient, que funcionó muy bien. https://github.com/archiloque/rest-client
Otros consejos
Eso es porque Curl no intenta analizar los XMLN. Puede intentar asegurarse de usar la misma versión de HttParty con 1.9.2 que usa con 1.8.7 o pedirle a las personas a cargo de ese URI que haga que los XMLN sean válidos