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

时间:2009-10-30 14:18:44

标签: ruby-on-rails wsdl

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

serv = SOAP::WSDLDriverFactory.new(APP_CONFIG['api_url']).create_rpc_driver

对于使用API​​的所有方法重新加载这个方法既缓慢又不是很干。 API不会经常更改,因此我想在启动应用程序时创建“句柄”,并始终对所有连接使用相同的“句柄”。

我如何以及在何处定义这种全局变量?我知道常量可以在environment.rb中设置但是如果我尝试在那里定义这一行,它似乎不起作用,得到某种超时错误。

1 个答案:

答案 0 :(得分:0)

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

gem install soap4r
wsdl2ruby.rb --help

你会想做这样的事情:

wsdl2ruby.rb --wsdl http://your/wsdl/url --type client