Don Box posted the Universal Webmethod for ASMX Web services (gives you the SOAP body of the request and response messages as raw XML elements - headers too).

I once wrote about this general concept but never spelled out how to control both incoming and outgoing messages like this.

Good stuff,

   -Matt