my experience with web services is two year old.
The main project I did was a portal allowing a citizen to view and manage his fiscal position, submit new records and pay on line via credit card. The front-end talks to the back-end dbms via a SOAP gateway.
In this project I had to create both sides (client and server) of the services. For the server side I used the soap-gateway package (the original version of William Byrne using internally ns_xml) and overall it just worked out of the box. I made only one change to the package, so as to be able to create automatically a WSDL also when dealing with complex xml structures.
The client side was more challenging and I had to create some procs to invoke the web services, but in your case this is not necesary. Furthermore now it should be possible to exploit the tclsoap package to build a more robust solution.
Based on my experience I think that soap-gateway was (is) a good choice for creating server side web services and the only other recommandation is to familiarize yourself using tdom.