At a client, we've been doing a lot of WCF work, and are quite often inspecting SOAP messages "in the raw" as they travel between client and server.  (Most of the time, this is a good way to prove that the UI is not correctly calling our services, so it's "their fault").  :)
We've been using MSSoapT3 (part of the 
SOAP Toolkit), but here are a couple other options.  Apparently they work using the proxy server settings on the client, instead of changing the configured (hardcoded?) URLs on the client.
TcpTrace | proxyTrace