A simple WSDL parser in crystal. Ported from wasabi ruby gem.
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=[])}
- Fork it ( https://github.com/Hamdiakoguz/isot/fork )
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create a new Pull Request
- Hamdiakoguz Hamdi Akoğuz - creator, maintainer
- enderahmetyurt Ender Ahmet Yurt - creator, maintainer