title: Why isn't SOAP-based web service RESTful?
body: <p>I understand RESTful is an architecture style, but what exactly makes SOAP-based web service not count for RESTful?</p>
  
  <p>It's not clear to me which points below (from <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer" rel="noreferrer">Wikipedia</a>), is not conformed by SOAP.</p>
  
  <ol>
  <li>Client-server</li>
  <li>Stateless</li>
  <li>Cacheable</li>
  <li>Layered system</li>
  <li>Code on demand (optional)</li>
  <li>Uniform interface
  
  <ul>
  <li>Identification of resources</li>
  <li>Manipulation of resources through these representations</li>
  <li>Self-descriptive messages</li>
  <li>Hypermedia as the engine of application state</li>
  </ul></li>
  </ol>
  
  <p><strong>EDIT</strong>: I just came across <a href="http://www.peej.co.uk/articles/rest.html#FFSHARE-close" rel="noreferrer">this</a> which summaries it pretty well.</p>
  
  <blockquote>
    <p>REST is not RPC, RPC says, "define
    some methods that do something"
    whereas REST says, "define some
    resources and they will have these
    methods". 
    It is a subtle but vital difference,
    when given a URI anyone knows they can
    interact with it via the predefined
    set of methods and receive standard
    HTTP responses in return. So given
    <a href="http://www.peej.co.uk/" rel="noreferrer">http://www.peej.co.uk/</a> I know I can
    issue a GET on it and receive
    something meaningful back. I may then
    try a PUT on it to change it and
    receive a meaningful HTTP error code
    since I'm not authorised to meddle
    with it.</p>
  </blockquote>