This is how I am creating a a client:
@client = Savon::Client.new do
wsdl.document = my_document
wsdl.endpoint = my_endpoint
end
and th
This looks like it might be a bug in savon 0.9.6. Try updating your client creating code like this:
@client = Savon::Client.new do
wsdl.document = my_document
wsdl.endpoint = my_endpoint
wsdl.element_form_default = :unqualified
end
Edit: updating answer with solution if someone else comes across this issue
It turns out if you provide a wsdl.document savon will prefix your elements. You're better off not using the wsdl document and just defining the namespaces you need like this:
@client = Savon::Client.new do
wsdl.endpoint = "http://..."
wsdl.namespace = "http://..." # target namespace
end
@response = @client.request :namespace_prefix, :soap_action do
soap.element_form_default = :unqualified
soap.namespaces["xmlns:ns1"] = "http://..."
soap.namespaces["xmlns:ns2"] = "http://..."
soap.body = {:application_id => my_application_id }
end