我一直在为ruby寻找功能齐全的WSDL客户端生成器。我尝试了一个名为wsdl2ruby的那个,它没有用。我认为正确检测复杂类型存在问题。
有人可以指出我正确的图书馆吗?我特别希望为jira提供的SOAP API生成一个完整的功能客户端。我查看了jira4r,但它现在似乎已经死了而且不是最新的。
非常感谢任何帮助。
谢谢。
答案 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 } }
答案 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执行此操作的详细信息。这篇文章有点过时了,我认为你实际上并没有像作者那样有多少问题。