This documentation is deprecated, please have a look at savonrb.com! Looking into The Ruby Toolbox there are currently two popular SOAP client libraries available. In this short article I am going to crunch the candidates Savon, which is currently the most “popular” library, and Handsoap which follows short after. Both are open source projects hosted […]
Tag: Handsoap
Savon vs. Handsoap: Calling a service
This documentation is deprecated, please have a look at savonrb.com! The two libraries have different approaches on how to get things done. While Handsoap is using an oldschool inheritance style definition: class HandsoapBankCode < Handsoap::Service endpoint :uri => "some_wsdl", :version => 2 def on_create_document(doc) doc.alias "tns", "some_namespace" end def on_response_document(doc) doc.add_namespace "ns1", "some_namespace" end […] […]
Savon vs. Handsoap: Accessing a WSDL
This documentation is deprecated, please have a look at savonrb.com! Both clients provide an interface to work with a WSDL. While the Handsoap WSDL support is hidden in some helper class, WSDLs are a first class citizen in Savon. The code for printing out the available SOAP actions looks like this: require "handsoap/parser" wsdl = […]
Savon vs. Handsoap: Authentication
This documentation is deprecated, please have a look at savonrb.com! The libraries provide support for multiple authentication protocols. While Handsoap’s authentication support is more low level, Savon provides an API for that task. WSSE authentication As you might expect, the Handsoap way for this aspect is to implement a callback method for the document creation. […]
Savon vs. Handsoap: Errors
This documentation is deprecated, please have a look at savonrb.com! Both client libraries provide the same default behavior for error handling; they raise distinct exceptions for SOAP and HTTP errors: Handsoap::HttpError / Handsoap::Fault Savon::HTTPError / Savon::SOAPFault And both clients offer a way to override that behavior. Savon lets you surpress errors globally and provides a […]