Apricot eats Gorilla
Apricot eats Gorilla is a SOAP communication helper. It translates between SOAP messages (XML) and Ruby Hashes and comes with some additional helpers for working with SOAP services.
Install
$ gem install rubiii-apricoteatsgorilla -s http://gems.github.com
Dependencies
hpricot 0.8.241 (the latest JRuby-compatible version)
Also available at: GitHub Downloads
Translate an XML String into a Ruby Hash
xml = '<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:authenticateResponse xmlns:ns2="http://v1_0.ws.example.com/">
<return>
<apricot>
<eats>Gorilla</eats>
</apricot>
</return>
</ns2:authenticateResponse>
</soap:Body>
</soap:Envelope>'
ApricotEatsGorilla[xml, "//return"]
# => { :apricot => { :eats => "Gorilla" } }
Translate a Ruby Hash into an XML String
hash = { :apricot => { :eats => "Gorilla" } }
ApricotEatsGorilla[hash]
# => "<apricot><eats>Gorilla</eats></apricot>"
Build a SOAP request envelope
ApricotEatsGorilla.soap_envelope { "<apricot><eats>Gorilla</eats></apricot>" }
# => '<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
# => <env:Body>
# => <apricot><eats>Gorilla</eats></apricot>
# => </env:Body>
# => </env:Envelope>'
Read more
For more detailed information, please take a look at the GitHub Wiki.