16.4. Jak napisać klienta SOAP?
Podziękowania dla Kevina Marshalla
Problem
Chcemy wywołać zdalną metodę za pośrednictwem usługi sieciowej SOAP.
Rozwiązanie
Można skorzystać ze sterownika SOAP RFC dostępnego w standardowej bibliotece języka Ruby.
Poniższy prosty program wyświetla cytat dnia. Program ten wykorzystuje sterownik SOAP RFC w celu połączenia się z usługą sieciową pod adresem codingtheweb.com.
require 'soap/rpc/driver' driver = SOAP::RPC::Driver.new( 'http://webservices.codingtheweb.com/bin/qotd', 'urn:xmethods-qotd')
Po skonfigurowaniu sterownika zdefiniujemy metodę usługi sieciowej, którą zamierzamy wywołać (getQuote
). Następnie można ją wywołać tak, jak standardową metodę języka Ruby i wyświetlić wyniki:
driver.add_method('getQuote') ...
Get Ruby. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.