Hi, I have a rails-2 app that is using ActionWebService to talk to another application. I''m running my production app from apache, on Linux, using fcgi. It works fine in my development environment from webrick, and it also works using a standard cgi handler, but I''m having trouble when I switch to fcgi. When using fcgi, normal web pages on my app work, and two of my three soap methods work. The other works ONCE, and then fails on subsequent calls (from somewhere inside actionwebservice) -- before it actually calls into my controller. If I kill the fcgi process and re-attempt the request, it works the next time, but fails again on all subsequent attempts. I''ve tried mucking about with adding some diagnostic code to action_web_service/dispatcher/action_controller_dispatcher.rb and what I''ve found is that ActiveRecord will always blow up complaining about a missing method in nil:NilClass, if I do anythng (such as .inspect) with the ws_request object returned from discover_web_service_request on line 49 of that file. Here''s a backtrace... undefined method `has_key?'' for nil:NilClass <cause xsi:type="n3:NoMethodError" xmlns:n3="http://www.ruby-lang.org/xmlns/ruby/type/1.6"> <message xsi:type="xsd:string">undefined method `has_key?' for nil:NilClass</message> <backtrace xsi:type="n1:Array" n1:arrayType="xsd:anyType[47]"> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/activerecord/lib/active_record/base.rb:2406:in `has_attribute?'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/activerecord/lib/active_record/base.rb:2462:in `inspect'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/activerecord/lib/active_record/base.rb:2461:in `collect'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/activerecord/lib/active_record/base.rb:2461:in `inspect'</item> <item xsi:type="xsd:string">/usr/lib64/ruby/1.8/soap/mapping/registry.rb:73:in `inspect'</item> <item xsi:type="xsd:string">/usr/lib64/ruby/1.8/soap/mapping/registry.rb:73:in `collect'</item> <item xsi:type="xsd:string">/usr/lib64/ruby/1.8/soap/mapping/registry.rb:73:in `inspect'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:55:in `dispatch_web_service_request'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:54:in `open'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionwebservice/lib/action_web_service/dispatcher/action_controller_dispatcher.rb:54:in `dispatch_web_service_request'</item> <item xsi:type="xsd:string">(eval):1:in `api'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/base.rb:1162:in `send'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/base.rb:1162:in `perform_action_without_filters'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/filters.rb:580:in `call_filters'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/filters.rb:573:in `perform_action_without_benchmark'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'</item> <item xsi:type="xsd:string">/usr/lib64/ruby/1.8/benchmark.rb:293:in `measure'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/benchmarking.rb:68:in `perform_action_without_rescue'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/rescue.rb:201:in `perform_action_without_caching'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:13:in `perform_action'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:33:in `cache'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/activerecord/lib/active_record/query_cache.rb:8:in `cache'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/caching/sql_cache.rb:12:in `perform_action'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/base.rb:529:in `send'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/base.rb:529:in `process_without_filters'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/filters.rb:569:in `process_without_session_management_support'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/session_management.rb:130:in `process'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/base.rb:389:in `process'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:149:in `handle_request'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:107:in `dispatch'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `synchronize'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:104:in `dispatch'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:120:in `dispatch_cgi'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/actionpack/lib/action_controller/dispatcher.rb:35:in `dispatch'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:103:in `process_request'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:153:in `with_signal_handler'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:101:in `process_request'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:78:in `process_each_request'</item> <item xsi:type="xsd:string">/usr/lib64/ruby/gems/1.8/gems/fcgi-0.8.7/lib/fcgi.rb:612:in `each_cgi'</item> <item xsi:type="xsd:string">/usr/lib64/ruby/gems/1.8/gems/fcgi-0.8.7/lib/fcgi.rb:609:in `each'</item> <item xsi:type="xsd:string">/usr/lib64/ruby/gems/1.8/gems/fcgi-0.8.7/lib/fcgi.rb:609:in `each_cgi'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:77:in `process_each_request'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:76:in `catch'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:76:in `process_each_request'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:50:in `process!'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/vendor/rails/railties/lib/fcgi_handler.rb:24:in `process!'</item> <item xsi:type="xsd:string">/var/www/activation.widgit.com/bubblewrap/public/dispatch.fcgi:24</item> </backtrace> </cause> <excn_type_name xsi:type="xsd:string">NoMethodError</excn_type_name> Thanks, Simon CONFIDENTIALITY NOTICE: This email and any attachments are for the exclusive and confidential use of the intended recipient. If you are not the intended recipient, please do not read, distribute or take action in reliance upon this message. If you have received this in error, please notify us immediately by return email and promptly delete this message and its attachments from your computer system. Logotron is a limited company registered in England, number 04113866. The registered office is Logotron Ltd, Denny Lodge Business Park, Chittering, Cambridge, CB25 9PH. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---