>If the webservice returns a specific object then the object should be already defined for you in the reference file.....
That is correct.
>I think a lot of the complexity arises because web service developers often design for their own consumption. In such cases the complexity is not relevant. They can just pass say a Customer object which has Orders which has Order Items which has Products etc, etc and it all pops out the other side as objects they are used to working with. If you need to consume the web service from another platform then the structures are not so obvious. If you have to design a web service for public consumption it's worth bearing in mind that the simpler the structures the better.....
Yes, that is correct. From my experience so far, many are implementing custom setup in those Web Services. I have standardized all my Web Services to XML string since a while. So, anyone can use it pretty easily.