We can take your startup from idea to revenue.   Find out more ยป


MTPS: You’ve Been SOAP’d

Architecture

Microsoft recently released the MTPS Content Service. From their documentation:

The MTPS Content Service is an XML web service that provides access to the content stored in MTPS. This includes, for example, the content available at http://msdn2.microsoft.com/library. Using the MTPS Content Service, developers can integrate documentation, technical articles, whitepapers, images and the other content available from the MTPS system into their own applications.

Though not a heavy MSDN consumer, I could see how people would use this service, and there seem to be some interesting ideas floating around already about possible mash-ups. So, I dug deeper by asking, “I wonder what protocols that they offer to obtain this data?” I soon found out:

The formal service description (WSDL) can be found here.

Huh?? This is content, right? HTML documentation that is delivered via HTTP? Wouldn’t that just be a GET request over HTTP for content, and POST to perform a search? No, apparently not. Instead, we get to craft of queries like this:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <getContentRequest xmlns="urn:msdn-com:public-content-syndication">
      <contentIdentifier>ms224917</contentIdentifier>
      <locale xmlns="urn:mtpg-com:mtps/2004/1/key">en-us</locale>
      <version xmlns="urn:mtpg-com:mtps/2004/1/key">VS.80</version>
      <requestedDocuments>
        <requestedDocument type="Common" selector="Mtps.Search" />
        <requestedDocument type="Primary" selector="Mtps.Xhtml" />
      </requestedDocuments>
    </getContentRequest>
  </soap:Body>
</soap:Envelope>

Funny enough, I’ve even seen a comment where someone wanted an API to request the equivalent of an HTTP HEAD request, rather than to pull down the entire contents of a resource - something that could have been done easily and supported by clients, without a new version of the WSDL. SOAP has a place in some architectures, but not when it is for the purpose of obtaining content.

You’ve been SOAP’d.

Technorati Tags: , ,

James @ June 16, 2006

Leave a comment


Feed Contact Us