null
Simon Fell: I believe that the version model Sam is pushing for makes a lot of sense, and feels more like the XML way, it'd be an interesting exercise to see if this is possible in any of the current toolkits. ASP.NET does pretty well. Let's take a concrete example.
Suppose there were an API named blogger.newPost, which took six parameters. Imagine a client and server were generated from this definition. Suppose somebody were to want to add seventh argument, say, a title perhaps? Imagine a new client and new server generated from this new definition. Clearly old client will continue to talk to the old server, and the new client will talk to the new server, but what will happen when you mix and match? And old client talking to a new server won't send a title.. therefore this parameter will be defaulted to null. A new client will send a title to an old server which will ignore it.
Not bad. No configuration options required. No new "meta" interfaces need to be defined. There is a clear mechanism, via WSDL, to discover what a given server supports. Things just work.
In my opinion, this is a key reason why HTML has been so successful - the contract between the producer and consumer isn't brittle. Browsers are expected to ignore markup that they don't understand and to provide reasonable defaults for missing elements.