This documentation is deprecated, please have a look at savonrb.com!
First of all, both client implementations can be run using JRuby. Since Savon is a pure Ruby implementation you get JRuby support for free. The drawback is, that it’s slow on MRI.
Using native C Libraries by default, Handsoap is bleezing fast. But when it comes to terms of compatibility with JRuby you’ve got to fall back to slow core Ruby classes:
Handsoap.http_driver = :net_http Handsoap.xml_query_driver = :rexml
Using this configuration nearly elimininates the differences in performance:
$ rake benchmark_jruby user system total real savon jruby dynamic 15.060000 0.000000 15.060000 ( 15.060000) savon jruby static 10.984000 0.000000 10.984000 ( 10.984000) handsoap jruby 8.717000 0.000000 8.717000 ( 8.717000)