-
Notifications
You must be signed in to change notification settings - Fork 615
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
message :Symbols are case mangled when generated as XML #357
Comments
Users won't forgive your bugs because of your choice of framework any more than you'd forgive your housepainters sloppy work because he chose a bad brush. While I appreciate you're not directly responsible for the errors in gyoku, it's a bug wether you inherit it or code it yourself. XML is case sensitive, so mangling case is a bug, who's responsible is irrelevant. -Edit: Pretty surprised gyoku does this as a default, but it's contrary to the basic XML spec, and with Soap, we have to deal with a lot of .Net generated crap-ola which uses CapitalisedNodeNames as a matter of course. |
whether you see this is a bug or not is not the point. savon exists for more than three years now as i mentioned earlier, it's currently just not possible to get this right, because it needs time to you know this is open source, right? feel free to help out here. |
\ What, no? I demand that it work the way I expect it too! \ - sartalics But Seriously, it's a good gem. I wasn't able to use it for my purposed because of the lack of import following in wsdl. My work around was to use jax-ws , build a jar file containing the primary service endpoints I needed, and then to switch to jruby so I can parse the results with Nokogiri. Are you modeling the lower layers on jax-ws and jax-b? Or just winging it? |
@rubiii Ok, hang on, I'm reporting a bug, not asking for a fix, assumed you'd want faults to be logged. If I have time, I'm more than happy to fix it, but it's up the chain in gyoku, and I've got a reasonable workaround, that's fine for me. All that really needs to be done with Savon is to have the issue logged and flagged. |
@ashrocket yes i demand that too :) just saying that someone needs to do it and that takes time. |
@ashrocket there's some code up at https://github.com/savonrb/wasabi/tree/sax-parser already. |
Ah, @jasonm23 - "Users won't forgive your bugs because of your choice of framework any more than you'd forgive your housepainters sloppy work because he chose a bad brush." That's where it turned into something more than a bug report. And while I actaully agree with @jasonm23 , that It should probably just follow whatever the CASE in the WSDL/SCHEMA docs have, he's made it possible to override any element names using quoted names instead of symbols along with several options. So this is actually a feature request, and I'd agree with it, enable a mode for gyoku that uses STRICT case matching of the paramters from Schema. I don't think the feature request belongs in gyoku (which is ALSO an open source @rubiii project authored several years ago). All Gyoku does is convert Ruby Hashed to XML. So, I'm not sure if it could handle being mapped to a schema file set of elements, but it's not really my area. The feature should be that for SAVON, there ought to be a way to not 'care' about case in Ruby, and still have the XML tags casing come out exactly as the schema defined it should. Those are my two pretty pennies. |
@rubiii "there is no decent xss-parser in ruby and that part needs quite some work." |
@ashrocket i understand. i have a day job as well and i'm investing spare time whenever i can. |
@ashrocket @rubiii - oh, I didn't mean to imply I was one of those users who won't forgive a bug. I was simply trying to illustrate how it's generally seen at the end-user level. OpenSource or commercial, we don't want bugs, reason 1, well, we just don't 2. a strong second is, users are demanding, and we all know that's sometimes annoying. I have a blob of SOAP work to do this month, and if I can get some re-usable stuff out of if that fits into this problem (ie. message parameter parsing / class/ method generation. etc.) I'll try to make it fit into Savon. |
@jasonm23 that would be awesome. |
for example, if we have the following message.
And we use it to call...
The generated XML has the argument node for IPAddress improperly cased as
iPAddress
Not sure why we would want to even touch the case of a parameter, but there you go, if we really wanted to correct the case of an argument, and we have the wsdl we should be matching those, otherwise leaving them alone.
I was about to hack the code to fix this, but I can work around it by using a string key instead of a symbol, i.e.
a bug nonetheless.
The text was updated successfully, but these errors were encountered: