We've created a component to consume web services. It's called as a COM object and can have an optional filter to apply an XSLT stylesheet to the returned XML, returning the output as a result. It's the same idea as curl, but with the additional facility of the conversion.
We use it for things like extracting currency exchange rates from the Bank of England's data warehouse. Instead of ploughing through a load of XML, we get the output as a RID, containing just the bits that interest us.
We've also done the reverse: using BIS to serve a web service, using .net and SOAP.
And we've created a couple of sites where an AJAX connection is used to extract XML or JSON formatted data from a "quiet" MAPPER service.
We're working on a site at the moment, using ICE, where there is no output formatting done in the MAPPER domain; AJAX routines call ICE services, but all the user interaction is in Javascipt.