A WSDL is a interface defintion. It's like a contract, that is written in XML. What is good for? I'm glad you asked :)
A WSDL can allow other developers and applications to create code which will take the WSDL and generate code for a client which they can use directly in their program. This generated code will have the ability to use the methods in the WSDL very easily.
An example would be if I am a .net developer, and want my cool robot application to use MRL - I could take this ClockService wsdl generate the code and I would have a MRL client.
The C# code could look as easy as this.
ClockService clock = new ClockService("http://somehost/mrl:6767");clock.setData("hello there!");clock.startClock();
Right now only methods with primitive return types and parameters are getting translated, but as you can see - this constitutes much of the functionality we would be interested in.
WSDLs are a big structured blob of XML .
Not so pretty for most folks. The top picture above is the wsdl after its been transformed into an HTML document using XSLT . XSL is a stylesheet which is applied to the XML to make it look or behave differently. I found this translation here https://code.google.com/p/wsdl-viewer/
This is the same WSDL contract document but viewed within Eclipse
Niether are exactly what I want. I want something which you can get helpful information "about" the method. And most importantly, I WANT TO BE ABLE TO CLICK A BUTTON AND HAVE THE METHOD EXECUTE !!!
Being able to activate nearly any method in MRL from a browser will take a little more work, but we are a step closer to a very cool web display (including a REST interface) !!!