From: David Cantrell Date: 12:45 on 29 Sep 2004 Subject: WSDL, and its users, and its tools, and XML in general Remember back in January when I Hated XML, posting in this august forum? Well, I hate XML even more now. Here's some specific examples of all the various hateful things I noted in that earlier post. But first some background. At work, I am writing an application which exposes a SOAP interface so that another company can submit requests to our database. Apparently, the tools that this other company are using can't just make a damned SOAP request. They need me to specify my interface in WSDL. WSDL is a dialect of XML. It is so hateful that even those who like XML (and who like using the crippled tools that need it) recommend using third-party tools to generate it automatically. I took one look at the WSDL spec and ran away screaming. I agree with them, there's no way in hell I want to write that crap by hand. As well as having to define my functions three times in different ways, I have to contend with those weird namespace things, and the WSDL inventors in their infinite wisdom have decided to reuse words which have well-understood meanings, like "port", and use them for something entirely unrelated to what they normally mean. But can I find such a tool that *works*? Nope. In the end, I had to write stubs for all my methods in JAVA and use some Java tool to produce WSDL. I then had to correct the WSDL, by hand. Someone had recommended another tool which might even have been really good, but even though it is apparently free you still need to ask the vendor for a licence. Which I did, then they phoned me to talk about my needs, and said they'd send a licence. Which they never did. Even if I had had a licence, I bet it wouldn't have worked properly. Back to some more WSDL hate. I expect that at some point you have written a function which returns an array of data. Try explaining that to WSDL. It *might* be possible, but not using the Java thingy that I had. The solution we arrived at was to pass a string, with CSV in it. Because CSV is old, and works, unlike this crazy modern complex stuff. There seems to be no sane way of having functions with variable numbers of arguments. So again, we're using CSV strings. At this rate, I might as well have just listened on a socket for CSV and spat back CSV! XML seems to encourage this mad over-complex stuff. WSDL *could* be implemented using the simple version 1 XML that I eulogised in my earlier post here. But even if it could be, it would still be mad and make my brane hurt. I've seen plenty of other stuff in XML which is deliberately obfuscatory - and unlike the IOCCC or the Obfuscated Perl Contest, its advocates TAKE THIS SHIT SERIOUSLY. So I have to conclude that there's something wrong with XML itself, even the simplest version 1 spec XML, which makes people do this. And therefore I hate XML, even the version that I didn't hate earlier.
Generated at 10:27 on 16 Apr 2008 by mariachi