我正在开发一个需要频繁访问公共API的Rails应用程序,我不确定在Rails应用程序中放置外部API(SOAP / WSDL)代码的最佳方法是什么,模型是什么,我们如何管理那?有什么想法,评论吗?
答案 0 :(得分:3)
当前用于使用外部SOAP服务的“最佳”库的竞争者似乎是Savon或Handsoap。两个here
之间存在比较我不能评论handsoap,因为我没有使用它,我很高兴Savon对我有用。
就应用程序结构而言,我将在lib下为外部实体命名的接口创建一个文件夹,然后使用rails的命名空间功能在其下存储文件。
举个例子,我有一个名为Sentinel的系统的外部接口。所以我有RAILS_ROOT / lib / sentinel,然后该文件夹中的所有类都在Sentinel模块中声明。
答案 1 :(得分:1)
要做的第一件事就是看看你想要与之接口的API是否有任何宝石。为gem写一个小的包装类,或者只包含它并在需要的地方使用它。
如果您正在寻求与REST服务交谈,我会建议使用rest-client gem。如果你想做一些完全自定义的事情,你可以使用Jon Nunemaker的HTTParty。 Nokogiri是一个XML解析器gem,对于使用基于XML的服务也很有用。