Ruby on rails 缓存或定义WSDL访问的全局常量

Ruby on rails 缓存或定义WSDL访问的全局常量,ruby-on-rails,wsdl,Ruby On Rails,Wsdl,我有一个Rails应用程序,它通过WSDL文件使用另一个Rails应用程序的API。我希望以某种方式缓存或将我创建的API的“句柄”定义为常量,如下所示: serv = SOAP::WSDLDriverFactory.new(APP_CONFIG['api_url']).create_rpc_driver wsdl2ruby.rb --wsdl http://your/wsdl/url --type client 对于所有使用API的方法,重新加载它既慢又不太干。API不会经常更改,因此我只

我有一个Rails应用程序,它通过WSDL文件使用另一个Rails应用程序的API。我希望以某种方式缓存或将我创建的API的“句柄”定义为常量,如下所示:

serv = SOAP::WSDLDriverFactory.new(APP_CONFIG['api_url']).create_rpc_driver
wsdl2ruby.rb --wsdl http://your/wsdl/url --type client
对于所有使用API的方法,重新加载它既慢又不太干。API不会经常更改,因此我只希望在启动应用程序时创建“句柄”,并始终对所有连接使用相同的“句柄”


如何以及在何处定义此类全局变量?我知道可以在environment.rb中设置常量,但如果我试图在那里定义这一行,就会出现某种超时错误,这似乎不起作用。

我建议使用soap4r实用程序wsdl2ruby.rb生成soap驱动程序并使用它。Soap4r是Ruby 1.8.6发行版中的一个奇怪的库,可以作为gem使用

gem install soap4r
wsdl2ruby.rb --help
您将需要执行以下操作:

serv = SOAP::WSDLDriverFactory.new(APP_CONFIG['api_url']).create_rpc_driver
wsdl2ruby.rb --wsdl http://your/wsdl/url --type client

我喜欢当前的设置,它工作得很好。如果可能的话,我唯一想更改的是跳过每个请求上的WSDL重新加载。您的建议意味着每次API更改时我都必须重新运行wsdl2ruby(甚至可能更改代码以使用API?)。