I truly believe that [WebMethod] is one of the best feature of the .NET Framework. Unfortunately, it is at the same time the very attribute which hides way too many Web Service features from you.
It's one of the best features as it allows developers to easily create web services. But I also think that we heavily need to change our thought patterns regarding web services to see them not just as yet another means for remote procedure calls but instead as a vehicle for transferring XML documents from point A to point B, potentially crossing several routing hops and processing pipelines.
Download het volledige artikel van Ingo Rammer‘s hier als PDF