用于ruby / ruby​​的SOAP客户端生成器

时间:2010-04-07 23:25:12

标签: ruby-on-rails ruby

我一直在为ruby寻找功能齐全的WSDL客户端生成器。我尝试了一个名为wsdl2ruby的那个,它没有用。我认为正确检测复杂类型存在问题。

有人可以指出我正确的图书馆吗?我特别希望为jira提供的SOAP API生成一个完整的功能客户端。我查看了jira4r,但它现在似乎已经死了而且不是最新的。

非常感谢任何帮助。

谢谢。

3 个答案:

答案 0 :(得分:7)

你试过萨翁吗?我曾经使用过几次,它非常容易和快速。

  client = Savon::Client.new "http://example.com/UserService?wsdl"
  client.wsdl.soap_actions
  => [:get_all_users, :get_user_by_id, :user_magic]
  response = client.get_user_by_id { |soap| soap.body = { :id => 666 } }

http://github.com/rubiii/savon

答案 1 :(得分:2)

根据个人经验,我强烈建议在Ruby中使用handsoap而不是soap4r。

http://github.com/unwire/handsoap

soap4r是一个早期的ruby库,很长一段时间没有更新,有bug(根据我自己的经验,例如从WSDL生成客户端),并不是特别惯用的ruby API。

handsoap是活跃的,使用curb和nokogiri,并且在我的soap4r失望后发现是一种乐趣。现在快乐地在生产中使用它。

答案 2 :(得分:0)

您需要使用Soap4R和wsdl2rb工具的组合生成客户端。结帐this blog post了解有关使用JIRA执行此操作的详细信息。这篇文章有点过时了,我认为你实际上并没有像作者那样有多少问题。