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

Tho*_* V. 6 ruby caching ruby-on-rails

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

而不是每次我想实现某种缓存方法时获取WSDL,虽然我不太确定在哪里开始这样做.

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

Sea*_*ere 9

如果您正在使用savon,每个客户端实例将下载一次远程WSDL:

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

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

client = Savon::Client.new do
  wsdl.document = '/path/to/wsdl.xml'
end
Run Code Online (Sandbox Code Playgroud)