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 <elem/>
¿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
.