savonrb/wasabi

View on GitHub
README.md

Summary

Maintainability
Test Coverage
# Wasabi

A simple WSDL parser.

[![Test](https://github.com/savonrb/wasabi/actions/workflows/test.yml/badge.svg)](https://github.com/savonrb/wasabi/actions/workflows/test.yml)
[![Gem Version](https://badge.fury.io/rb/wasabi.svg)](http://badge.fury.io/rb/wasabi)
[![Code Climate](https://codeclimate.com/github/savonrb/wasabi.svg)](https://codeclimate.com/github/savonrb/wasabi)
[![Coverage Status](https://coveralls.io/repos/savonrb/wasabi/badge.svg?branch=master)](https://coveralls.io/r/savonrb/wasabi)

## Installation

Wasabi is available through [RubyGems](http://rubygems.org/gems/wasabi) 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

```ruby
document = Wasabi.document File.read("some.wsdl")
```

Get the SOAP endpoint:

```ruby
document.endpoint
# => "http://soap.example.com"
```

Get the target namespace:

```ruby
document.namespace
# => "http://v1.example.com"
```

Check whether elementFormDefault is set to `:qualified` or `:unqualified`:

```ruby
document.element_form_default
# => :qualified
```

Get a list of available SOAP actions (snakecase for convenience):

```ruby
document.soap_actions
# => [:create_user, :find_user]
```

Get a map of SOAP action Symbols, their input tag and original SOAP action name:

```ruby
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](https://lostisland.github.io/faraday/#/) for its HTTP transport. For compatibility, it will continue to prefer 
[HTTPI](https://github.com/savonrb/httpi) if it is present. Newer versions of Savon require Wasabi 5.x as part of the transition to Faraday.