Tuesday, October 10, 2006

soapUI

If you develop SOAP-based Web Services, there is a tool that you will not want to miss once you have tried it. It's soapUI, an open-source GUI for easily and very quickly creating and firing off SOAP requests. (So basically, you feed it WSDL, it creates sample SOAP requests for you, you edit those in a simple but functional XML editor, and Send it to see the response.)

This is one of the advantages of an SOA using XML as platform neutral lingua franca of message exchange for integration purposes: A machine readable representation (XML schema and WSDL) to describe services and make them discoverable and easily invokable by tools, such as soapUI. And no JAR files like for RMI services, no IDL compilers... it's a data format, there is a commonly agreed description of it, and tools can construct and consume messages - easily, and even "simple" tools.

Even technical business analysts can perform functional testing of services, as suggested and successfully happened in one project I was coaching. (SOAPui also has performance and stress testing features, I haven't actually used those yet, but recently recommend it to somebody who was looking for a tool to model such test scenarios on a few web services.)

Of course, some commercial tools offer similiar features (e.g. XMLSpy, Mindreef SOAPscope; probably others) but soapUI is free, simple - and works really well, something is just "right" about it.

BTW: SOAPui just got better (what will probably end up being v1.7), with added support for automatic forced validation of request/response messages in editors - an additional new useful SOAPui feature suggested and discussed with the SOAPui team by your humble author of this blog! ;-)