This documentation is deprecated, please have a look at “savonrb.com”:http://savonrb.com/!
p. Looking into “The Ruby Toolbox”:http://ruby-toolbox.com/ there are currently two popular “SOAP client libraries”:http://ruby-toolbox.com/categories/soap.html available. In this short article I am going to crunch the candidates “Savon”:http://github.com/rubiii/savon, which is currently the most “popular” library, and “Handsoap”:http://github.com/unwire/handsoap/ which follows short after. Both are open source projects hosted on “github”:http://github.com/.
p. This article won’t cover all facets of both libraries. I concentrate on the features that are relevant for integrating a Ruby SOAP client into our particular SOA platform. That platform is commonly based on Java SOAP services based on frameworks such as “CXF”:http://cxf.apache.org/ and “Axis”:http://ws.apache.org/axis/ providing interfaces to internal business logic.
p. Since this is not a complete feature list, it should show you at least how to work with the APIs and which client might be the best choice for yourself.
p. Having lots of Java Guys around here, there is no great focus on things like beautiful API design or Ruby magic, the client should *just work*! Living in a Java environment, the SOAP client has to integrate smoothly with “JRuby”:http://jruby.org/. Since a lot of Ruby libraries lack support for JRuby, we always have to monkey patch a lot of code to make it run on the JRE.
p. We refer to free, public SOAP services, so everyone can run the examples by themselves.
p. All the examples seen here can be cloned/downloaded from “github”:http://github.com/phoet/savon_handsoap_shootout.
* “Calling a service”:http://blog.nofail.de/2010/01/savon-vs-handsoap-calling-a-service/
* “Accessing a WSDL”:http://blog.nofail.de/2010/01/savon-vs-handsoap-accessing-a-wsdl/
p. Have fun!