<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: soap</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/soap.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2013-10-04T18:57:00+00:00</updated><author><name>Simon Willison</name></author><entry><title>What information do you feel is most valuable when integrating a Web API (REST or SOAP)?</title><link href="https://simonwillison.net/2013/Oct/4/what-information-do-you/#atom-tag" rel="alternate"/><published>2013-10-04T18:57:00+00:00</published><updated>2013-10-04T18:57:00+00:00</updated><id>https://simonwillison.net/2013/Oct/4/what-information-do-you/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;em&gt;My answer to &lt;a href="https://www.quora.com/What-information-do-you-feel-is-most-valuable-when-integrating-a-Web-API-REST-or-SOAP/answer/Simon-Willison"&gt;What information do you feel is most valuable when integrating a Web API (REST or SOAP)?&lt;/a&gt; on Quora&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;A really good API explorer&lt;/li&gt;&lt;li&gt;Comprehensive documentation of the response format, including what happens if certain fields are missing (empty string, null value, missing key?)&lt;/li&gt;&lt;li&gt;Comprehensive documentation of the available request parameters, including allowed values&lt;/li&gt;&lt;li&gt;What are the rate limits?&lt;/li&gt;&lt;li&gt;What is returned if there is an error?&lt;/li&gt;&lt;/ul&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apis"&gt;apis&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/quora"&gt;quora&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="apis"/><category term="soap"/><category term="quora"/></entry><entry><title>What is a good, simple SaaS tool for testing SOAP calls?</title><link href="https://simonwillison.net/2013/Sep/23/what-is-a-good/#atom-tag" rel="alternate"/><published>2013-09-23T13:20:00+00:00</published><updated>2013-09-23T13:20:00+00:00</updated><id>https://simonwillison.net/2013/Sep/23/what-is-a-good/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;em&gt;My answer to &lt;a href="https://www.quora.com/What-is-a-good-simple-SaaS-tool-for-testing-SOAP-calls/answer/Simon-Willison"&gt;What is a good, simple SaaS tool for testing SOAP calls?&lt;/a&gt; on Quora&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I doubt you'll find one. The words "Simple" and "SOAP" don't deserve to appear in the same sentence, and SOAP is massively unfashionable these days (for good reason) so you're unlikely to find any modern SaaS companies developing tools for it.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/quora"&gt;quora&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/saas"&gt;saas&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="soap"/><category term="quora"/><category term="saas"/></entry><entry><title>Explaining REST to Damien Katz</title><link href="https://simonwillison.net/2008/Aug/17/dare/#atom-tag" rel="alternate"/><published>2008-08-17T23:19:32+00:00</published><updated>2008-08-17T23:19:32+00:00</updated><id>https://simonwillison.net/2008/Aug/17/dare/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.25hoursaday.com/weblog/2008/08/17/ExplainingRESTToDamienKatz.aspx"&gt;Explaining REST to Damien Katz&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I didn’t know that it was Mark Baker back in 2002 who first pointed out that SOAP was flawed because it ignored the architecture of the Web as defined by Roy Fielding’s Ph.D thesis.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dare-obasanjo"&gt;dare-obasanjo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/history"&gt;history&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mark-baker"&gt;mark-baker&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rest"&gt;rest&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/royfielding"&gt;royfielding&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;&lt;/p&gt;



</summary><category term="damien-katz"/><category term="dare-obasanjo"/><category term="history"/><category term="mark-baker"/><category term="rest"/><category term="royfielding"/><category term="soap"/></entry><entry><title>Multi-Inflection-Point Alert</title><link href="https://simonwillison.net/2008/Apr/26/ongoing/#atom-tag" rel="alternate"/><published>2008-04-26T18:48:57+00:00</published><updated>2008-04-26T18:48:57+00:00</updated><id>https://simonwillison.net/2008/Apr/26/ongoing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2008/04/24/Inflection"&gt;Multi-Inflection-Point Alert&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Dammit, Tim, stop giving away our competitive advantages!


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/bigtable"&gt;bigtable&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/couchdb"&gt;couchdb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/java"&gt;java&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rails"&gt;rails&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rest"&gt;rest&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/simpledb"&gt;simpledb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;&lt;/p&gt;



</summary><category term="bigtable"/><category term="couchdb"/><category term="java"/><category term="python"/><category term="rails"/><category term="rest"/><category term="simpledb"/><category term="soap"/><category term="tim-bray"/></entry><entry><title>Google AJAX Search API: Flash and Server Side Access</title><link href="https://simonwillison.net/2008/Apr/22/google/#atom-tag" rel="alternate"/><published>2008-04-22T19:16:50+00:00</published><updated>2008-04-22T19:16:50+00:00</updated><id>https://simonwillison.net/2008/Apr/22/google/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://googleajaxsearchapi.blogspot.com/2008/04/flash-and-server-side-access.html"&gt;Google AJAX Search API: Flash and Server Side Access&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Over a year after Google shot down their SOAP Search API, they’ve quietly released a JSON based one under the guise of supporting “Flash and other non JavaScript environments”. Comes with the strange requirement that an HTTP referer be sent with every request; the API key is optional.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/ajax"&gt;ajax&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/apis"&gt;apis&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/google"&gt;google&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/json"&gt;json&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/search"&gt;search&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-services"&gt;web-services&lt;/a&gt;&lt;/p&gt;



</summary><category term="ajax"/><category term="apis"/><category term="google"/><category term="json"/><category term="search"/><category term="soap"/><category term="web-services"/></entry><entry><title>WS-dämmerung</title><link href="https://simonwillison.net/2007/Nov/22/ongoing/#atom-tag" rel="alternate"/><published>2007-11-22T09:49:02+00:00</published><updated>2007-11-22T09:49:02+00:00</updated><id>https://simonwillison.net/2007/Nov/22/ongoing/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.tbray.org/ongoing/When/200x/2007/11/21/WS-dammerung"&gt;WS-dämmerung&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Tim Bray collects the latest round of WS-* repenting, which saves me from linking to them individually.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/tim-bray"&gt;tim-bray&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-services"&gt;web-services&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ws-star"&gt;ws-star&lt;/a&gt;&lt;/p&gt;



</summary><category term="soap"/><category term="tim-bray"/><category term="web-services"/><category term="ws-star"/></entry><entry><title>soaplib</title><link href="https://simonwillison.net/2007/Feb/12/soaplib/#atom-tag" rel="alternate"/><published>2007-02-12T22:26:53+00:00</published><updated>2007-02-12T22:26:53+00:00</updated><id>https://simonwillison.net/2007/Feb/12/soaplib/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://trac.optio.webfactional.com/"&gt;soaplib&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
New open-source Python SOAP library, with a pleasantly Pythonic looking API.

    &lt;p&gt;&lt;small&gt;&lt;/small&gt;Via &lt;a href="http://cleverdevil.org/computing/53/"&gt;Jonathan LaCour&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/jonathan-lacour"&gt;jonathan-lacour&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soaplib"&gt;soaplib&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-services"&gt;web-services&lt;/a&gt;&lt;/p&gt;



</summary><category term="jonathan-lacour"/><category term="python"/><category term="soap"/><category term="soaplib"/><category term="web-services"/></entry><entry><title>Quoting Nick Gall</title><link href="https://simonwillison.net/2007/Jan/27/position/#atom-tag" rel="alternate"/><published>2007-01-27T13:55:30+00:00</published><updated>2007-01-27T13:55:30+00:00</updated><id>https://simonwillison.net/2007/Jan/27/position/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://www.w3.org/2007/01/wos-papers/gall"&gt;&lt;p&gt;Web Services based on SOAP and WSDL are "Web" in name only. In fact, they are a hostile overlay of the Web based on traditional enterprise middleware architectural styles that has fallen far short of expectations over the past decade.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://www.w3.org/2007/01/wos-papers/gall"&gt;Nick Gall&lt;/a&gt;, VP Gartner&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/gartner"&gt;gartner&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-services"&gt;web-services&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/wsdl"&gt;wsdl&lt;/a&gt;&lt;/p&gt;



</summary><category term="gartner"/><category term="soap"/><category term="web-services"/><category term="wsdl"/></entry><entry><title>Why JSON isn't just for JavaScript</title><link href="https://simonwillison.net/2006/Dec/20/json/#atom-tag" rel="alternate"/><published>2006-12-20T23:49:34+00:00</published><updated>2006-12-20T23:49:34+00:00</updated><id>https://simonwillison.net/2006/Dec/20/json/#atom-tag</id><summary type="html">
    &lt;p&gt;Dave Winer's &lt;a href="http://www.scripting.com/2006/12/20.html#godBlessTheReinventers" title="God bless the re-inventers"&gt;discovery of JSON&lt;/a&gt; (and shock that "it's not even XML") has triggered an interesting discussion thread, &lt;a href="http://scripting.wordpress.com/2006/12/20/scripting-news-for-12202006/"&gt;on his blog&lt;/a&gt; and &lt;a href="http://technorati.com/search/www.scripting.com%2F2006%2F12%2F20.html%23godBlessTheReinventers" title="Technorati links to that URL"&gt;elsewhere&lt;/a&gt;. Plenty of people have re-assured him (and themselves) that it's only used for JavaScript - it's convenient in the browser but irrelevant elsewhere.&lt;/p&gt;

&lt;p&gt;That simply isn't true. Let's look at the problem &lt;a href="http://www.json.org/"&gt;JSON&lt;/a&gt; solves:&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I have a data structure on server / platform / programming environment A. I want to use it on server / platform / programming environment B.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Surely that problem has been solved a hundred times before? That's what XML's for, right?&lt;/p&gt;

&lt;p&gt;Here's an example data structure, of the kind you might want to transmit from one place to another (represented as a Python dictionary; mentally replace with the syntax from your programming language of choice).&lt;/p&gt;

&lt;pre&gt;&lt;code class="javascript"&gt;person = {
  "name": "Simon Willison",
  "age": 25,
  "height": 1.68,
  "urls": [
    "http://simonwillison.net/",
    "http://www.flickr.com/photos/simon/",
    "http://simon.incutio.com/"
  ]
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It's a simple example, but it demonstrates the core data structures that any modern dynamic language is likely to support: strings, integers, floating points, hashes (or dictionaries or associative arrays depending on terminology) and lists (or sequences or arrays).&lt;/p&gt;

&lt;p&gt;So how do I represent this in a language-neutral format? Obviously I can use XML. I could invent my own custom representation:&lt;/p&gt;

&lt;pre&gt;&lt;code class="xml"&gt;&amp;lt;person&amp;gt;
  &amp;lt;name&amp;gt;Simon Willison&amp;lt;/name&amp;gt;
  &amp;lt;age&amp;gt;25&amp;lt;/age&amp;gt;
  &amp;lt;height&amp;gt;1.68&amp;lt;/height&amp;gt;
  &amp;lt;urls&amp;gt;
    &amp;lt;url&amp;gt;http://simonwillison.net/&amp;lt;/url&amp;gt;
    ...
  &amp;lt;/urls&amp;gt;
&amp;lt;/person&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But this means writing a bunch of boilerplate code. I need code to build the XML format, and code to parse it (using SAX or DOM or whatever) at the other end. I need to write this code in every language/platform that I want to communicate with. That's a lot of extra effort!&lt;/p&gt;

&lt;p&gt;So let's be smarter about this and reuse an existing format. If there's an XML-based standard for the exact data I'm representing I could use that; if there are good libraries supporting it for the languages that I'm using I don't have to write any extra parsing code.&lt;/p&gt;

&lt;p&gt;If that isn't the case, I need to look at XML standards that can represent our standard data types. As Dave points out, our principle options here are SOAP and XML-RPC.&lt;/p&gt;

&lt;p&gt;By most accounts SOAP is a total pain to get anything done with, so let's look at XML-RPC. XML-RPC encodes the exact data types we want, but wraps them up in a RPC mechanism. I have no need for any of the &amp;lt;methodCall&amp;gt; / &amp;lt;methodResponse&amp;gt; boiler plate; I just want to represent the data, not specify a remote method to call.&lt;/p&gt;

&lt;p&gt;So I could use a subset of XML-RPC that's just the data representation - in fact, that's really not a bad idea. But then I'd have to figure out how to get the various XML-RPC libraries to parse just the data structures without barfing at the lack of an envelope.&lt;/p&gt;

&lt;p&gt;I also face the problem that XML-RPC isn't particularly human-readable. In fact, XML itself tends not to be brilliantly readable: the data gets lost among the angle brackets.&lt;/p&gt;

&lt;p&gt;Enter JSON. The smartest thing about JSON is that it addresses the need for a light-weight standard for representing those core data types and, rather than inventing a new one, uses a subset of an existing one: ECMAScript, more commonly known as JavaScript.&lt;/p&gt;

&lt;p&gt;JavaScript has excellent syntax for both object and array literals (something Java could certainly learn from); remember, in JavaScript an object is basically an associative array. JSON takes that syntax and makes it generally applicable. Because JavaScript is a programming language, JSON syntax is naturally readable and writable by human beings.&lt;/p&gt;

&lt;p&gt;If you take away the assignment statement the Python example I gave earlier is also valid JSON. JSON is also a subset of YAML, an earlier attempt at a human readable/writable serialization format. More importantly, JSON libraries almost certainly exist for your language of choice (there are 24 languages represented in the list on &lt;a href="http://www.json.org/"&gt;JSON.org&lt;/a&gt;). Most of them provide two functions - &lt;samp&gt;json_encode($data)&lt;/samp&gt; and &lt;samp&gt;json_decode($json)&lt;/samp&gt;  - and that's all you need.&lt;/p&gt;

&lt;p&gt;The sweet spot for JSON is serializing simple data structures for transfer between programming languages. If you need more complex data structures (maybe with some kind of schema for validation), use XML. If you want to do full blown RPC use SOAP or XML-RPC. If you just want a light-weight format for moving data around, JSON fits the bill admirably.&lt;/p&gt;

&lt;p&gt;What do we lose from not using XML? The ability to use XML tools. If you're someone who breathes XSLT that might be a problem; if like me your approach when faced with XML is to parse it in to a more agreeable data structure as soon as possible you'll find JSON far more productive.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dave-winer"&gt;dave-winer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/json"&gt;json&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml"&gt;xml&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml-rpc"&gt;xml-rpc&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="dave-winer"/><category term="javascript"/><category term="json"/><category term="soap"/><category term="xml"/><category term="xml-rpc"/></entry><entry><title>When to put the web into Web Services</title><link href="https://simonwillison.net/2003/Dec/11/when/#atom-tag" rel="alternate"/><published>2003-12-11T01:10:16+00:00</published><updated>2003-12-11T01:10:16+00:00</updated><id>https://simonwillison.net/2003/Dec/11/when/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.xmldatabases.org/WK/blog/1096_When_to_put_the_web_into_Web_Services.item"&gt;When to put the web into Web Services&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
aka “What’s SOAP actually useful for?”


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;&lt;/p&gt;



</summary><category term="soap"/></entry><entry><title>PHP SOAP Documentation</title><link href="https://simonwillison.net/2003/Apr/11/phpSoapDocumentation/#atom-tag" rel="alternate"/><published>2003-04-11T15:02:31+00:00</published><updated>2003-04-11T15:02:31+00:00</updated><id>https://simonwillison.net/2003/Apr/11/phpSoapDocumentation/#atom-tag</id><summary type="html">
    &lt;p&gt;Finally some good documentation on using &lt;acronym title="Simple Object Access Protocol"&gt;SOAP&lt;/acronym&gt; with &lt;acronym title="PHP: Hypretext Preprocessor"&gt;PHP&lt;/acronym&gt;: &lt;a href="http://www.phppatterns.com/index.php/article/articleview/39"&gt;PEAR::SOAP Client Fast Start&lt;/a&gt; and &lt;a href="http://www.phppatterns.com/index.php/article/articleview/40"&gt;Extending PEAR::SOAP WSDL&lt;/a&gt;, both from the excellent &lt;a href="http://www.phppatterns.com/"&gt;phpPatterns&lt;/a&gt;.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/php"&gt;php&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="php"/><category term="soap"/></entry><entry><title>Lively discussion on SOAP</title><link href="https://simonwillison.net/2003/Apr/4/livelyDiscussionOnSoap/#atom-tag" rel="alternate"/><published>2003-04-04T14:54:21+00:00</published><updated>2003-04-04T14:54:21+00:00</updated><id>https://simonwillison.net/2003/Apr/4/livelyDiscussionOnSoap/#atom-tag</id><summary type="html">
    &lt;p&gt;If you get the basic idea of web services but are still looking to get your head around &lt;acronym title="Simple Object Access Protocol"&gt;SOAP&lt;/acronym&gt; (I know I am) the &lt;a href="http://www.intertwingly.net/blog/1312.html" title="Bruce Eckel said SOAP sucks?"&gt;lively discussion&lt;/a&gt; currently taking place in Sam Ruby's comment section looks like a great place to start.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/sam-ruby"&gt;sam-ruby&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="sam-ruby"/><category term="soap"/></entry><entry><title>The Two Way Web</title><link href="https://simonwillison.net/2002/Jul/6/theTwoWayWeb/#atom-tag" rel="alternate"/><published>2002-07-06T22:14:01+00:00</published><updated>2002-07-06T22:14:01+00:00</updated><id>https://simonwillison.net/2002/Jul/6/theTwoWayWeb/#atom-tag</id><summary type="html">
    &lt;p&gt;Dave Winer: &lt;a href="http://www.thetwowayweb.com/"&gt;The Two Way Web&lt;/a&gt;. &lt;q cite="http://www.thetwowayweb.com/directory/8"&gt;The Two-Way-Web is a vision for the Web as an easy writing and publishing environment&lt;/q&gt;. This is an old essay from March 2001 (I only found it today) which describes a vision of a web where content can be quickly and easily edited through a variety of tools, which communicate with content management systems using &lt;acronym title="eXtensible Markup Language - Remote Procedure Calling"&gt;XML-RPC&lt;/acronym&gt; and &lt;acronym title="Simple Object Access Protocol"&gt;SOAP&lt;/acronym&gt;. This is all stuff I've been thinking about recently, so it looks like I'm only a year and a half behind Dave ;)&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dave-winer"&gt;dave-winer&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml-rpc"&gt;xml-rpc&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="dave-winer"/><category term="soap"/><category term="xml-rpc"/></entry><entry><title>XML request object</title><link href="https://simonwillison.net/2002/Jul/3/xmlRequestObject/#atom-tag" rel="alternate"/><published>2002-07-03T23:50:21+00:00</published><updated>2002-07-03T23:50:21+00:00</updated><id>https://simonwillison.net/2002/Jul/3/xmlRequestObject/#atom-tag</id><summary type="html">
    &lt;p&gt;&lt;a href="http://jibbering.com/2002/4/httprequest.html"&gt;Using the XML HTTP Request object&lt;/a&gt; (via &lt;a href="http://www.techno-weenie.com/2002/07/02.html#a1268"&gt;techno weenie&lt;/a&gt;) is an excellent tutorial covering remote &lt;acronym title="eXtensible Markup Language"&gt;XML&lt;/acronym&gt; loading capabilities in both &lt;acronym title="Internet Explorer"&gt;IE&lt;/acronym&gt; and Mozilla, along with instructions on how to make &lt;acronym title="Simple Object Access Protocol"&gt;SOAP&lt;/acronym&gt; requests using this technology.&lt;/p&gt;
    
        &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/xml"&gt;xml&lt;/a&gt;&lt;/p&gt;
    

</summary><category term="soap"/><category term="xml"/></entry></feed>