rails log example ruby xml soap savon

ruby - log - Envío de XML sin formato con Savon 2



savon ruby (1)

Intento utilizar Savon para enviar solicitudes a un servicio web. El servicio que estoy consumiendo requiere espacios de nombres anidados, y todavía no he resuelto cómo proporcionarlos en una solicitud.

Intenté crear la solicitud a mano (con nokogiri, en realidad) y enviar el xml resultante:

client.call(:some_op, :message=>{:"op"=>"<elem/>"})

Pero savon escapa de la cadena y envía &lt;elem/&gt;

¿Cómo puedo enviar xml sin escaparse?


La llamada debería verse así:

client.call(:some_op, xml: "<elem />")

O si solo desea establecer uno o varios espacios de nombres, cree un cliente de la siguiente manera (sin WSDL):

client = Savon.client( :endpoint => ''http://www.example.com'', :namespace => ''urn:core.example.com'', :namespaces => { ''ns1'' => ''http://v1.example.com'', ''ns2'' => ''http://v2.example.com'' }, :log => true, :log_level => :debug, :pretty_print_xml => true )

Los espacios de nombres son un parámetro Hash .