2011-08-26 60 views
5

我正在构建一个基本上围绕一堆SOAP命令的rails应用程序。缓存WSDL文件而不是在每个SOAP请求中获取它

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

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

回答

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 
+0

的时刻_As这为n ow新语法_' @client = Savon.client do wsdl'/path/to/your/SoapApiService.wsdl' end' – olleh

相关问题