Wednesday, June 21, 2006

Ruby SOAP is amazing

Back in March I grumbled about the fact that the SOAP libraries included in the standard Ruby distro on Windows are fairly broken, and to get SOAP working with Basic Authentication, one has to rummage around the internet collecting and installing a couple of libraries written by Hiroshi Nakamura.

I take it all back. No more grumbling.

I've recently been working to port about 40 API functions from one SOAP server to a different, better SOAP server. We have client code written in 6 languages besides Ruby: Java, C#, Perl, TCL, VBScript, and PHP.

Ruby was the only language that continued to function 100% with the new SOAP server and all of the tweaks we made to the new server. (PHP did pretty well, too, but I can't test in PHP, and maintenance is tricky. )

The basic issue is that there is more than one way to generate an accurate WSDL; and there is more than one way to interpret any valid WSDL. Perl's SOAP::Lite module for example will not parse our new WSDL without major surgery on my part.

We eventually got Java and C# both working with the new SOAP server, but it took some tweaking on both the client code and the server code.

Throughout the entire project, not only were our tests (specifications) written in Ruby with Nakamura-san's libraries, these tests became our most reliable reference implementations also.

Very, very impressive work.

1 comment:

Steve Midgley said...

very useful opinions / feedback on soap4r - thanks.