I've posted about this topic a few times, it's really nice to see that someone has finally given a practical, free method of doing this. This implementation uses WS-E to do this, meaning that you add an attirbute to both the client and server portions of your web service - and there you have it, a compressed SOAP message!
If you're using Web Services and transmitting any non-trivial amount of Data, I really do recommend that you use compression on the SOAP message (especially if you're sending DataSets, those buggers are huge when serialized - of course you can minimize them in a different way), this is a very simple, intelligent approach to this problem, it can actually make Web Services practical where they weren't before (as transmission latency can actually preclude their use in some circumstances).
Anyway, good job Glav!

UPDATE:  Just found this article on DotNetJunkies - which seems to offer HTTP 1.1 compression for web services - yet to try it out (looking at the date it's possible it would only work for .NET 1.0 - but I'll give it a try and report the results!)