while testing IPN validations with the PayPal gem, I keep getting a nil object message for notify.acknowledge even though notify is not empty notify = Paypal::Notification.new(request.raw_post)>>notify=> #<Paypal::Notification:0x398d9d0 @raw="receiver_id=D31B7IUDQITUL&business=paypal%40yourdo...etc etc>> notify.acknowledgeNoMethodError: You have a nil object when you didn''t expect it! The error occured while evaluating nil.verify_mode from d:/ruby/lib/ruby/1.8/net/http.rb:565:in `connect'' from d:/ruby/lib/ruby/1.8/net/http.rb:555:in `do_start'' from d:/ruby/lib/ruby/1.8/net/http.rb:544:in `start'' from d:/ruby/lib/ruby/1.8/net/http.rb:1031:in `request'' from ./script/../config/../config/../vendor/plugins/paypal/lib/notification.rb:209:in `acknowledge'' from (irb):107 from :0 has anyone seen this before? cheers dion -- www.blogsaic.com search, post, blog --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk -~----------~----~----~----~------~----~------~--~---
Hello Dion, 2006/8/29, Dion Hewson <dionhewson@gmail.com>:> while testing IPN validations with the PayPal gem,...> ./script/../config/../config/../vendor/plugins/paypal/lib/notification.rb:209:in > `acknowledge' > from (irb):107 > from :0Did you look at line 209 of notification ? That should give you a clue. Check Paypal::Notification.ipn_url is not nil before calling too. Hope that helps ! -- François Beausoleil http://blog.teksol.info/ http://piston.rubyforge.org/ --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---
hi there I set ipn.url in my controller to the test script I am using notify.ipn_url = ''http://www.eliteweaver.co.uk/cgi-bin/webscr'' how can I test line 204 http = Net::HTTP.new(uri.host, uri.port) from the console as I suspect it is http that is nil notification.rb ------------------- def acknowledge payload = raw uri = URI.parse(self.class.ipn_url) request_path = "#{uri.path}?cmd=_notify-validate" request = Net::HTTP::Post.new(request_path) request[''Content-Length''] = "#{payload.size}" request[''User-Agent''] = "paypal-ruby -- http://rubyforge.org/projects/paypal/" http = Net::HTTP.new(uri.host, uri.port) http.verify_mode = OpenSSL::SSL::VERIFY_NONE unless @ssl_strict http.use_ssl = true request = http.request(request, payload) raise StandardError.new("Faulty paypal result: #{request.body}") unless ["VERIFIED", "INVALID"].include?(request.body) request.body == "VERIFIED" end cheers dion On 8/29/06, Francois Beausoleil <francois.beausoleil-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > Hello Dion, > > 2006/8/29, Dion Hewson <dionhewson-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>: > > while testing IPN validations with the PayPal gem, > ... > > > ./script/../config/../config/../vendor/plugins/paypal/lib/notification.rb:209:in > > `acknowledge'' > > from (irb):107 > > from :0 > > Did you look at line 209 of notification ? That should give you a clue. > > Check Paypal::Notification.ipn_url is not nil before calling too. > > Hope that helps ! > -- > François Beausoleil > http://blog.teksol.info/ > http://piston.rubyforge.org/ > > > >-- www.blogsaic.com search, post, blog --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
while evaluating this from the console, http returns false, which is why I must be getting nil>> @notify.ipn_url = ''http://www.eliteweaver.co.uk/testing/ipntest.php''=> "http://www.eliteweaver.co.uk/testing/ipntest.php">> uri = URI.parse(@notify.ipn_url)=> #<URI::HTTP:0x1c53c50 URL: http://www.eliteweaver.co.uk/testing/ipntest.php>>> http = Net::HTTP.new(uri.host, uri.port)=> #<Net::HTTP www.eliteweaver.co.uk:80 open=false> On 8/29/06, Dion Hewson <dionhewson-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> > hi there > > I set ipn.url in my controller to the test script I am using > > notify.ipn_url = ''http://www.eliteweaver.co.uk/cgi-bin/webscr'' > > how can I test line 204 http = Net:: HTTP.new(uri.host, uri.port) from the > console > > as I suspect it is http that is nil > > notification.rb > ------------------- > def acknowledge > payload = raw > > uri = URI.parse(self.class.ipn_url ) > request_path = "#{uri.path}?cmd=_notify-validate" > > request = Net::HTTP::Post.new(request_path) > request[''Content-Length''] = "#{payload.size}" > request[''User-Agent''] = "paypal-ruby -- > http://rubyforge.org/projects/paypal/" > > http = Net::HTTP.new(uri.host, uri.port) > > http.verify_mode = OpenSSL::SSL::VERIFY_NONE unless @ssl_strict > http.use_ssl = true > > request = http.request(request, payload) > > raise StandardError.new("Faulty paypal result: #{request.body}") > unless ["VERIFIED", "INVALID"].include?( request.body) > > request.body == "VERIFIED" > end > > cheers > > dion > > > On 8/29/06, Francois Beausoleil < francois.beausoleil-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > Hello Dion, > > > > 2006/8/29, Dion Hewson < dionhewson-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>: > > > while testing IPN validations with the PayPal gem, > > ... > > > > > ./script/../config/../config/../vendor/plugins/paypal/lib/notification.rb:209:in > > > > > `acknowledge'' > > > from (irb):107 > > > from :0 > > > > Did you look at line 209 of notification ? That should give you a clue. > > > > Check Paypal::Notification.ipn_url is not nil before calling too. > > > > Hope that helps ! > > -- > > François Beausoleil > > http://blog.teksol.info/ > > http://piston.rubyforge.org/ > > > > > > > > > > > -- > > www.blogsaic.com > search, post, blog >-- www.blogsaic.com search, post, blog --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
2006/8/29, Dion Hewson <dionhewson@gmail.com>:> >> http = Net::HTTP.new(uri.host, uri.port) > => #<Net::HTTP www.eliteweaver.co.uk:80 open=false>That only says that the connection is not open. Not that it's false. You need to initiate the request. Continue testing in the console / irb to see where it leads you. Sorry I can't be more specific. You're on the right track though. Also, nothing prevents you from editing notification.rb and adding logging statements. I often do: RAILS_DEFAULT_LOGGER.debug "some logging statement" in the libraries. Since the library's running under Rails, it automatically gets access to the same logger the rest of Rails is using. Bye ! -- François Beausoleil http://blog.teksol.info/ http://piston.rubyforge.org/ --~--~---------~--~----~------------~-------~--~----~ 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@googlegroups.com 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 -~----------~----~----~----~------~----~------~--~---