缓存WSDL文件而不是在每个SOAP请求上获取它

时间:2011-08-26 21:06:39

标签: ruby-on-rails ruby caching

我正在构建一个基本上包含一堆SOAP命令的rails应用程序。

不是每次我想实现某种缓存方法时都获取WSDL,尽管我不太确定在哪里开始这样做。

是否有一些特定的Rails可以帮助我,或者我应该只是通过Ruby下载文件并加载它?只是寻找某种大方向...

1 个答案:

答案 0 :(得分:9)

如果您使用的是savon,那么remote WSDL will be downloaded once per client instance

  

必须为每个客户端下载和解析(远程)WSDL一次,因此会带来性能损失

如果这种情况太频繁,您可以从本地文件加载WSDL:

client = Savon::Client.new do
  wsdl.document = '/path/to/wsdl.xml'
end