Is it more or less acceptable (i.e. standard) to create a publicly-exposed web service with these method signatures:
ThisMethodDoesSomething(ComplexType param)
ThisMethodDoesSomethingElse(AnotherComplexType param)
Or this:
ThisMethodDoesSomethingAndSomethingElse(string xml)
Where the operation being performed depends upon the XML string passed to a single does-it-all method? I have always gone with the former, but a coworker of mine prefers the latter and I'm trying to weigh pros and cons of both strategies before we begin a new project. Which is more accepted and easier for the public to work with and why?