Sam replies: "Clearly, .NET (or is it SOAP itself?) has cemented association between XML and interface is too strongly.".

Humm... I hadn't looked at it from that perspective. I was, however, talking from years of dealing with poorly defined COM interfaces :)

See, I don't usually talk about interfaces in the .NET or programming language sense, but rather on the concept of interface itself: something that defines a contract... and WSDL seems to, at least partially, fit the bill here. Now, obviously, that contract can be either strict, or loose, as has been pointed out. In my experience, strict works best long term, altough I agree that loose agreement might work best in the short term. But even so, I don't think syntax is enough, and that seems to be the focus of Sam's article. An interface is pretty much worthless unless there are agreed semantics attached to it. So it becomes a question of what does an interface consumer expect out of it?

I'm not crazy about defaults, though. I'd feel much more comfortable if those default values where mandated by spec, at least (altough I can see there might be trouble for non-primitive types).

Even so, I think there's middle ground to be found. Perhaps not so strict that it's too hard to evolve/interop, but not so relaxed that it becomes a complete nightmare...

Tomas Restrepo

Software developer located in Colombia.