Hola a todos, llevo googleando todo el dia y no he sido capaz de
encontrar el modo de hacer un request enviando un xml (y recibir otro
xml como respuesta)… Alguien sabe donde tengo que mirar??
Muchisimas gracias por adelantado!
Hola a todos, llevo googleando todo el dia y no he sido capaz de
encontrar el modo de hacer un request enviando un xml (y recibir otro
xml como respuesta)… Alguien sabe donde tengo que mirar??
Muchisimas gracias por adelantado!
Hola,
una forma es tirar de la librería estándar de ruby net/http. El ejemplo
de post directamente de la
documentación
require ‘net/http’
require ‘uri’
#1: Simple POST
res =
Net::HTTP.post_form(URI.parse(‘http://www.example.com/search.cgi’),
{‘q’=>‘ruby’, ‘max’=>‘50’})
puts res.body
Luego si el xml de vuelta lo quieres parsear, una forma sencilla es usar
xml simple. De hecho si el post XML es a una acción rails, se parsea
automáticamente de xml a variables (suponiendo que el tipo en la
cabecera http esté bien puesto).
saludos,
javier ramírez
Recibir un xml y parsearlo es la parte que he conseguido sin
problemas. Lo que aun no he encontrado es como enviar un xml en el
request… Hay un parametro &block en get_response que parecia
prometedor, pero no he encontrado nada en la documentacion
Si alguien lo ha hecho estaria muy agradecido si me contara. De todas
maneras seguire dando caña a google…
Saludos!
Quoting javier ramirez [email protected]:
es justamente lo que te copiaba en el mensaje anterior. Usas la librerÃa
net-http y envÃas lo que quieras mediante el método post. Si le pones el
content-type a ‘text/xml’ ya lo tienes.
suerte,
javier ramirez
Buenas,
On Saturday 23 June 2007 23:50:08 [email protected] wrote:
Recibir un xml y parsearlo es la parte que he conseguido sin
problemas. Lo que aun no he encontrado es como enviar un xml en el
request… Hay un parametro &block en get_response que parecia
prometedor, pero no he encontrado nada en la documentacionSi alguien lo ha hecho estaria muy agradecido si me contara. De todas
maneras seguire dando caña a google…
yo suelo hacer algo asÃ:
require ‘net/http’
http_server = Net::HTTP.new(‘www.example.com’, 80)
req = Net::HTTP::Post.new(‘/path’)
req.content_type = ‘text/xml’
req.form_data = mi_doc_xml
res = http_server.start { |http| http.request(req) }.body
return res
Ciao
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs