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.