I've started building and testing some WSDL based SOAP tools and was using tcpTrace to help debug, the trouble is that WSDL contains absolute URL's for SOAP endpoints. This means you have to manually tweak the URL's in the WSDL so that they go through tcpTrace.
Well I soon got feed up with that !, Here's a HTTP Proxy server that looks like tcpTrace (and is based on the same underlying asynchronous I/O engine). Simply configure your SOAP client to use a HTTP proxy server, leave all the addresses as normal, and off you go. As before you'll see a list of connections on left, simply select one, and the request / response HTTP messages will appear on the right.
As its a HTTP proxy, you can't use proxyTrace for general protocol tracing, this is best left to tcpTrace. Being a HTTP proxy though, you can use it for general HTTP stuff, want to see what your browser is doing under the covers, see all those double click cookies ?, fire up proxyTrace and switch your browser to use it a proxy server.
Different SOAP toolkit have different levels of support for proxy servers, and have different usages, consult the documentation of your tools for info on how to set it up for use with a proxy server. Here's an example of an Apache SOAP client calling a 4s4c using proxyTrace running on port 8080. (this needs Apache SOAP 2.1). If you have pocketSOAP 0.9.1 then you call the SetProxy method on the transport object.
v0.1.2 (Build 23) April 9, 2001
- Fixed a bug where it would fail to send the outgoing request if it was larger that 2233 bytes.
- Changed some of the chunk sizes, so it processes larger request / responses faster.
- Fixed it so that the proxy port is remember between runs.
v0.1.1 (Build 4) April 4, 2001
- Fixed a bug where it would fail to connect to the destination server if it was specified with an IP address in the incoming HTTP request.
v0.1.0 (Build 1) February 5, 2001
- Initial Release, based on tcpTrace 0.3.0