Skip to content

Hamdiakoguz/isot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

isot

A simple WSDL parser in crystal. Ported from wasabi ruby gem.

Build Status

Usage

require "./src/isot"
document = Isot.document("./spec/fixtures/authentication.wsdl")

Get the SOAP endpoint:

puts document.endpoint
# => http://example.com/validation/1.0/AuthenticationService

Get the target namespace:

puts document.namespace
# => http://v1_0.ws.auth.order.example.com/

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

puts document.element_form_default
# => unqualified

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

puts document.soap_actions
# => ["authenticate"]

Get a map of SOAP actions from String to Isot::Operation:

puts document.operations
# => {"authenticate" => Isot::Operation(@name="authenticate", @action="authenticate", @inputs=[Isot::Message(@name="authenticate", @type=nil, @element="authenticate")], @outputs=[Isot::Message(@name="authenticateResponse", @type=nil, @element="authenticateResponse")], @namespace_identifier="tns", @parameters=[])}

Contributing

  1. Fork it ( https://github.com/Hamdiakoguz/isot/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Contributors

About

A simple WSDL parser in crystal. Ported from wasabi ruby gem.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published