Wasabi
A simple WSDL parser.
Installation
Wasabi is available through RubyGems and can be installed via:
$ gem install wasabi
Probably, you are using this gem as a dependency of some other gem. But, if you want to control which version of Wasabi to pick, you can add a gem
line to your Gemfile
:
gem "wasabi"
Getting started
document = Wasabi.document File.read("some.wsdl")
Get the SOAP endpoint:
document.endpoint
# => "http://soap.example.com"
Get the target namespace:
document.namespace
# => "http://v1.example.com"
Check whether elementFormDefault is set to :qualified
or :unqualified
:
document.element_form_default
# => :qualified
Get a list of available SOAP actions (snakecase for convenience):
document.soap_actions
# => [:create_user, :find_user]
Get a map of SOAP action Symbols, their input tag and original SOAP action name:
document.operations
# => { :create_user => { :input => "createUser", :action => "createUser" },
# => :find_user => { :input => "findUser", :action => "findUser" } }
Upgrading to Wasabi 5.x
Wasabi 5.x adds support for (and defaults to) Faraday for its HTTP transport. For compatibility, it will continue to prefer HTTPI if it is present. Newer versions of Savon require Wasabi 5.x as part of the transition to Faraday.