Searching Google Using SOAP or SOAP with WSDL Files

Over the past few years, the SOAP standard has gathered a lot of support, in part because it is now officially documented by the World Wide Web Consortium (W3C). Standardization makes working with most SOAP services dependable, at least as far as the information you need to know and the information you can reasonably expect to get back. Because of the W3C backing, it could be said that SOAP is now the preferred architecture for most web services—though, despite W3C support, there's significant evidence that REST-ful services are more widely used. Nevertheless, if you're going to be working with web services, you need to be conversant with all three architectures: REST, XML-RPC, and SOAP.

SOAP's biggest drawback is its complexity, but Rails hides most of that complexity from you. Creating a SOAP client takes four simple steps:

  1. Create an instance of a SOAP driver

  2. Define the SOAP methods you want to call

  3. Call the SOAP methods

  4. Use the results in your Rails application

To demonstrate, we'll build a Google search using SOAP. Like Yahoo!, Google offers a free web service API for many of their services, including their search engine. To use the Google search API (and to test the sample code), you'll need a free Google Developer's Key, which you can get directly from Google at https://www.google.com/accounts/NewAccount?continue=http://api.google.com/createkey&followup=http://api.google.com/createkey.

Here's a controller that uses SOAP to find ...

Get Web Services on Rails 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.