New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Wrong namespace if value is in WSDL #274
Comments
I think you want an elementFormDefault of unqualified (that's what's in the WSDL file in your example). If Savon isn't following the WSDL, that would be a bug (certainly possible), but at least as of when I was last hacking on Savon, it was designed to follow the namespaces in the WSDL, not to provide a lot of mechanisms to override the WSDL. |
It seems that Savon isn't following WSDL now. In the add_namespace_to_body method, called from body_to_xml, if namespaces exist they are used no matter what is the value of element_form_default if used_namespaces[newpath]
newhash.merge(
"#{used_namespaces[newpath]}:#{camelcased_key}" =>
add_namespaces_to_body(value, types[newpath] ? [types[newpath]] : newpath)
)
else
newhash.merge(key => value)
end |
@bosko could you test against v0.9.11 to see if i understood and fixed the problem?! |
I just tested it and it is working in v0.9.11. |
great :) thank you! |
Hello,
I'm using savon 0.9.9 to get some information from a service but if I use the following code to do the call he put namespaces before the values I entered if these values are in the WSDL list. The code I'm using to do some testing :
This output the following request xml :
The fields city and password are in the WSDL and for these values he puts ins0 as namespace, how can I bypass this and remove this namespace? I tried with the wsdl.element_form_default = :qualified like in the doc but it doesn't change anything.
The text was updated successfully, but these errors were encountered: