I'd probably write my own template operator that consumes the service (using PHP) and then returns either the XML object itself or some sort of formatted data structure that leaves template operations easy. If multiple web services, the operator could take a service address etc...
It is done on a web site today, at work.
I used php-soap for Web Service (not curl) : works pretty well for very complex Web Services, but for simple request/reponse, php-curl should be better I guess.
I prefer a fetch than an operator, must easier to pass parameters (in the hash), and a little faster to execute.