title: Difference between a SOAP message and a WSDL?
body: <p>I am confused about how SOAP messages and WSDL fit together?  I have started looking into SOAP messages such as:</p>
  
  <pre><code>    POST /InStock HTTP/1.1
  Host: www.example.org
  Content-Type: application/soap+xml; charset=utf-8
  Content-Length: nnn
  
  &lt;?xml version="1.0"?&gt;
  &lt;soap:Envelope
  xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
  soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"&gt;
  
  &lt;soap:Body xmlns:m="http://www.example.org/stock"&gt;
    &lt;m:GetStockPrice&gt;
      &lt;m:StockName&gt;IBM&lt;/m:StockName&gt;
    &lt;/m:GetStockPrice&gt;
  &lt;/soap:Body&gt;
  
  &lt;/soap:Envelope&gt;
  </code></pre>
  
  <p>Are all SOAP messages WSDL's? Is SOAP a protocol that accepts its own 'SOAP messages' or 'WSDL's?  If they are different,  then when should I use SOAP messages and when should I use WSDL's?</p>
  
  <p>Some clarification around this would be awesome.</p>