将SOAP与Ruby一起使用的最佳方法是什么?

时间:2020-03-05 18:46:39  来源:igfitidea点击:

我的一个客户要求我将第三方API集成到他们的Rails应用中。唯一的问题是API使用SOAP。 Ruby基本上放弃了SOAP,而选择了REST。他们提供了一个显然可与Java-Ruby桥接器一起使用的Java适配器,但如果可能的话,我们希望将其全部保留在Ruby中。我调查过soap4r,但声誉似乎有些差。

那么将SOAP调用集成到Rails应用程序中的最佳方法是什么?

解决方案

回答

试试SOAP4R

  • SOAP4R
  • SOAP4R入门

我刚刚在Rails Envy播客(ep 31)上听说过:

  • WS-Deathstar SOAP演练

回答

我们使用了内置的" soap / wsdlDriver"类,它实际上是SOAP4R。
狗很慢,但是真的很简单。从gems / etc获得的SOAP4R只是同一事物的更新版本。

示例代码:

require 'soap/wsdlDriver'

client = SOAP::WSDLDriverFactory.new( 'http://example.com/service.wsdl' ).create_rpc_driver
result = client.doStuff();

就是这样

回答

来自Datanoise的Kent Sibilev还已经将Rails ActionWebService库移植到Rails 2.1(及更高版本)。
这使我们可以公开自己的基于Ruby的SOAP服务。
他甚至有一个脚手架/测试模式,该模式允许我们使用浏览器测试服务。

回答

我们从Handsoap切换到Savon。

这是比较两个客户端库的一系列博客文章。

回答

我构建了Savon,以使通过Ruby与SOAP Web服务的交互尽可能容易。
我建议我们检查一下。

回答

我还推荐Savon。我花了太多时间试图处理Soap4R,但没有结果。严重缺乏功能,没有文档。

Savon是我的答案。