Ruby 1.8.4 Rails 1.1.6 XML post with xmlns

Hi All,

I am migrating a working RoR app from Ruby 1.8.2 with Rails 1.0 to Ruby 1.8.4 and Rails 1.1.6. In the application I post XML such as:

<profile xmlns="http://services.stuff.com/profile/request&quot;&gt;   <username>user1</username>   <password>pwd1</password> </profile>

In 1.0 of Rails this worked fine but in 1.1.6 it now has the following in the Parameter line of the development log:

Parameters: {"format"=>#<Mime::Type:0x2b662f8 @string="application/xml", @synonyms=["text/xml", "application/x-xml"], @symbol=:xml>, "exception"=>"can't typecast \"http://services.stuff.com/profile/request\\&quot; (RuntimeError)", "action"=>"profile", "controller"=>"xml", "raw_post_data"=>"<profile xmlns=\"http://services.stuff.com/profile/request\\&quot;&gt;\\n\\t&lt;username&gt;user1&lt;/username&gt;\\n\\t&lt;password&gt;pwd1&lt;/password&gt;\\n&lt;/profile&gt;&quot;, "backtrace"=>["D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/cgi_ext/cgi_methods.rb:111:in `typecast_xml_value'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/cgi_ext/cgi_methods.rb:99:in `typecast_xml_value'", "D:/ruby184/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `inject'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/cgi_ext/cgi_methods.rb:98:in `typecast_xml_value'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/cgi_ext/cgi_methods.rb:99:in `typecast_xml_value'", "D:/ruby184/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `inject'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/cgi_ext/cgi_methods.rb:98:in `typecast_xml_value'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/cgi_ext/cgi_methods.rb:71:in `parse_formatted_request_parameters'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/cgi_process.rb:69:in `request_parameters'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/request.rb:13:in `parameters'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:122:in `set_session_options_without_components'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/components.rb:178:in `set_session_options'", "D:/ruby184/lib/ruby/gems/1.8/gems/actionpack-1.12.5/lib/action_controller/session_management.rb:116:in `process'", "D:/ruby184/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/dispatcher.rb:38:in `dispatch'", "D:/ruby184/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:150:in `process_request'", "D:/ruby184/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:54:in `process!'", "D:/ruby184/lib/ruby/site_ruby/1.8/fcgi.rb:598:in `each_cgi'", "D:/ruby184/lib/ruby/site_ruby/1.8/fcgi.rb:595:in `each_cgi'", "D:/ruby184/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:53:in `process!'", "D:/ruby184/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/fcgi_handler.rb:23:in `process!'", "D:/eclipse3.2/eclipse/workspace/LCP-New/public/dispatch.fcgi:24"]}

When I remove the xmlns from the xml then no error is thrown. Is this a known limitation with rails 1.1.6 that it doesn't support xmlns? Is there something I am doing which is causing this problem? Is there a way to have the xml work the exact same way between 1.0 and 1.1 of Rails?

Thanks, Jeff

Hi all,

Sorry, but it's not a reply to your problem. I'm just having the same problem and I'd like to know if you found a solution. If not, could someone please help us ?

Thanks

Sam

jeffmacomber@gmail.com a ?crit :

In addition to my previous post, here is a summary of my case :

- works perfectly with the "invoke" scaffold within Rails - works perfectly with command line invocation (curl, wget with post-file) - doesn't work with a compiled C program working with libsoap.so (called "soapclient" which comes with the library). The generated xml-post SEEMS to be the same as I used with the previous tests (comparison made with Rails logs backtrace).

All tests performed on the same linux machine.

Cheers

Sam