Wasabi

A simple WSDL parser.

Test Gem Version Code Climate Coverage Status

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.