Datasheet
see, however, that the whole of the request is found in the URL. One of the big advantages of using
REST is that you can try things out simply by typing the URL into your web browser— there are no
complicated messaging protocols to conform to. As far as application interfaces go, REST is as close to
instant gratification as you are likely to get as a software developer.
If you do try typing this example URL into your browser, it won’t actually work. Before you can use
Flickr’s services, you will need to get an API key from it. We’ll explain all about what API keys are,
how you get one, and how you use them in the next few chapters.
SOAP
SOAP is an XML-based messaging format, widely used as the means of communication with web ser-
vices. The SOAP standard is maintained by W3C. Originally, SOAP was an acronym for
Simple Object
Access Protocol
, but that particular definition has been dropped in recent years.
SOAP requests and responses are both XML documents, and as such can be very verbose. For example,
when converted to a SOAP message, the simple Flickr REST request shown previously becomes some-
thing like this:
<?xml version=”1.0” encoding=”utf-8” ?>
<s:Envelope
xmlns:s=”http://www.w3.org/2003/05/soap-envelope”
xmlns:xsi=”http://www.w3.org/1999/XMLSchema-instance”
xmlns:xsd=”http://www.w3.org/1999/XMLSchema”
>
<s:Body>
<x:FlickrRequest xmlns:x=”urn:flickr”>
<method>flickr.photos.search</method>
<api_key>1f2811827f3284b3aa12f7bbb7792b8d</api_key>
<user_id>50317659@N00</user_id>
<per_page>6</per_page>
</x:FlickrRequest>
</s:Body>
</s:Envelope>
Many web services that provide SOAP interfaces use WSDL, or Web Services Description Language, as
a means of formally describing the services available and defining how to both construct the request-
message documents and understand the response documents.
Because of the widespread use of SOAP, many SOAP toolkits are available, and many development
environments provide direct support for SOAP. Such toolkits, however, typically rely on the existence of
a WSDL description of the web service, and if this is not available, they are of limited use.
XML-RPC
XML-RPC is another commonly used XML-based messaging format and is a mechanism for providing
remote procedure calls using XML. A remote procedure call is simply a means of executing a service on
another computer. XML-RPC was the precursor to SOAP and, as with SOAP, the message format is
somewhat verbose. A typical XML-RPC message might look something like this:
20
Part I: Building a New Internet
05_097748 ch01.qxp 12/14/06 5:53 PM Page 20










