I've been doing a bit of webservice development lately, and in the process I stumbled across ProxyTrace from PocketSoap. This is a very nifty free tool. All you have to do is set the proxy on your webservice call to an instance of ProxyTrace running on the same machine and you'll get a straight-forward trace of the back-and-forth between your consumer and the webservice.

There's a couple of things that can catch you out first time. Number one, it gets confused when your webservice is bound to localhost. You need to bind to the machine name that ProxyTrace is running on. Secondly, you can proxy SSL. Not too much thought needs to go into why. Obviously, the SSL data is encrypted, and ProxyTrace can't inspect the message to see where its got to go.

In spite of these little issues, it's been a big help in understanding some interoperability issues.