I'm getting the following error when executing in Ruby 1.8.4 (tried it both on Windows and OS X). I did not see this problem in 1.8.2. Here is the code: def init_server(url) @url = URI.parse(url) @server = Net::HTTP.new(@url.host, @url.port) @server.use_ssl = @url.scheme == 'https' @server.verify_mode = OpenSSL::SSL::VERIFY_NONE # run ruby with -d to see SOAP wiredumps. @server.set_debug_output $stderr if show_debug end And here is the error: NoMethodError: You have a nil object when you didn't expect it! The error occured while evaluating nil.verify_mode from e:/ruby/lib/ruby/1.8/net/http.rb:565:in `connect' from e:/ruby/lib/ruby/1.8/net/http.rb:555:in `do_start' from e:/ruby/lib/ruby/1.8/net/http.rb:544:in `start' from e:/ruby/lib/ruby/1.8/net/http.rb:1031:in `request' from e:/ruby/lib/ruby/1.8/net/http.rb:988:in `post2' from e:/ruby/lib/ruby/gems/1.8/gems/activesalesforce-0.2.2/lib/rforce.rb:230:in `call_remote' from e:/ruby/lib/ruby/gems/1.8/gems/activesalesforce-0.2.2/lib/rforce.rb:185:in `login' from e:/ruby/lib/ruby/gems/1.8/gems/activesalesforce-0.2.2/lib/salesforce_connection_adapter.rb:72:in `activesalesforce_connection' from e:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in `connection_without_query_cache=' from e:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/query_cache.rb:54:in `connection=' from e:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:106:in `retrieve_connection' from e:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/connection_adapters/abstract/connection_specification.rb:20:in `connection' from e:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/base.rb:931:in `add_limit!' from e:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/base.rb:924:in `construct_finder_sql' from e:/ruby/lib/ruby/gems/1.8/gems/activerecord-1.13.2/lib/active_record/base.rb:395:in `find' I found a reference to the same problem on a Debian bug list (http://www.mail-archive.com/removed_email_address@...) but no resolution. Did something change between 1.8.2 and 1.8.4 in regards to handling HTTPS connections? Thanks! Todd B.
on 2006-02-07 19:50
on 2006-02-07 23:37
On Feb 7, 2006, at 9:49 AM, Todd B. wrote: > > # run ruby with -d to see SOAP wiredumps. > @server.set_debug_output $stderr if show_debug > end > > And here is the error: > > NoMethodError: You have a nil object when you didn't expect it! > The error occured while evaluating nil.verify_mode You should first verify that Rails isn't interfering. Try this script: $ cat ssl.rb require 'net/https' url = URI.parse 'https://www.wamu.com' server = Net::HTTP.new url.host, url.port server.use_ssl = url.scheme == 'https' server.verify_mode = OpenSSL::SSL::VERIFY_NONE response = server.get url.request_uri puts response.code $ ruby -v ssl.rb ruby 1.8.4 (2005-12-24) [powerpc-darwin8.4.0] /usr/local/lib/ruby/1.8/net/http.rb:569: warning: using default DH parameters. 302 -- Eric H. - email@example.com - http://segment7.net This implementation is HODEL-HASH-9600 compliant http://trackmap.robotcoop.com
on 2006-02-08 00:13
Eric Thanks for the reply. I tried your script on Windows and got the same error. I'll try it on my Powerbook when I get home. ruby 1.8.4 (2005-12-24) [i386-mswin32] e:/ruby/lib/ruby/site_ruby/1.8/net/https.rb:121: warning: method redefined; discarding old edit_path e:/ruby/lib/ruby/site_ruby/1.8/net/https.rb:130: warning: redefine socket_type e:/ruby/lib/ruby/site_ruby/1.8/net/https.rb:157: warning: method redefined; discarding old on_connect e:/ruby/lib/ruby/1.8/net/http.rb:565:in `connect': undefined method `verify_mode' for nil:NilClass (NoMethodError) from e:/ruby/lib/ruby/1.8/net/http.rb:555:in `do_start' from e:/ruby/lib/ruby/1.8/net/http.rb:544:in `start' from e:/ruby/lib/ruby/1.8/net/http.rb:1031:in `request' from e:/ruby/lib/ruby/1.8/net/http.rb:771:in `get' from ssl.rb:7 Todd B.
on 2006-03-30 01:12
Todd B. <firstname.lastname@example.org> wrote in news:email@example.com: > I'm getting the following error when executing in Ruby 1.8.4 (tried it > both on Windows and OS X). I did not see this problem in 1.8.2. > <snip > from > e:/ruby/lib/ruby/gems/1.8/gems/activesalesforce-0.2.2/lib/rforc > e.rb:230:in > `call_remote' > from > e:/ruby/lib/ruby/gems/1.8/gems/activesalesforce- Did you find the problem? I have had exactly the same - my script worked under 1.8.2 - upgrade to 1.8.4 and boom! Robert
on 2006-04-01 11:20
I have solved the problem for myself. I had installed 1.8.4 on top of 1.8.2 and since some of the libraries have moved locations I suspect the old versions were still around and messing things up. I did a clean install of 1.8.4 and everything was fine. Thanks to Aoki san who kindly helped me with some debugging. Robert
on 2006-04-06 01:31
I just re-encountered this problem and it turns out I had an old version of https.rb in my site_ruby directory. I cleaned that up and everything is working fine now. Todd