我的客户要求我将第三方API集成到他们的Rails应用程序中.唯一的问题是API使用SOAP.Ruby基本上放弃了SOAP,转而使用REST.它们提供了一个显然适用于Java-Ruby桥接器的Java适配器,但是如果可能的话,我们希望将它全部保存在Ruby中.我看了一下soap4r,但它的名声似乎有些不好.
那么将SOAP调用集成到Rails应用程序的最佳方法是什么?
我构建了Savon,以便尽可能简单地通过Ruby与SOAP Web服务进行交互.
我建议你看看.
我们使用了内置soap/wsdlDriver
类,实际上是SOAP4R.它的狗很慢,但很简单.你从gems/etc获得的SOAP4R只是同一件事的更新版本.
示例代码:
require 'soap/wsdlDriver' client = SOAP::WSDLDriverFactory.new( 'http://example.com/service.wsdl' ).create_rpc_driver result = client.doStuff();
就是这样
我们从Handsoap切换到Savon.
这是一系列比较两个客户端库的博客文章.
我也推荐Savon.我花了太多时间试图处理Soap4R,没有结果.缺乏功能,没有文档.
Savon是我的答案.