# File webservices.rb, line 43 def self.include(service, silent = false, param_wsdl=nil) begin require File.dirname(__FILE__) + '/webservices/soap/drivers' require File.dirname(__FILE__) + '/webservices/soap/' + service.downcase # added because this error was being observed: # /opt/local/lib/ruby/1.8/soap/wsdlDriver.rb:62:in `find_port':NoMethodError: undefined method `services' for #<WSDL::XMLSchema::Schema:0x1a41b80> # unsure what it does, but this retry sequence seems to load things properly tries = 0 begin Module.const_get(service.downcase.capitalize).wsdl= param_wsdl rescue NoMethodError tries += 1 p tries retry unless tries > 5 end # end retry rescue LoadError # no file to load raise $! unless silent return false rescue NameError # no constant raise $! unless silent return false end end