On Friday I finished my week long Developmentor Essential.NET class. I played with the WS-Security and WS-Attachements (DIME) capabilities in the WSE.
Today we had VTC with Juval Lowy . Juval showed how to use object context and intercept calls to and from an object. This is similar in some ways to COM context, but gives you a way to add your own items and processing to the object context. His example solution provides a logging solution that will log all componet calls and errors. To enable it, you simply add a [Logging] attribute to your class declaration. It is interesting that this whole approach is mostly undocumented. Kudos to Juval for unraveling it all and producing a very useful solution. He has an article about how to do this in the March MSDN magazine.
Also in the March MSDN notice that Tim Ewald has a very interesting article outlining doing something similar but for web services. Thus there are two interesting approaches for extending component services: for Web Services - Soap Extensions and for .NET Components - Context Interception. Each approach enables us to decouple business logic from plumbing.
BTW, it turns out that if you dig into WSE you will see that it is uses soap extensions.
The more that I learn about .NET Remoting and the .NET web services implementations, the more interesting it becomes, but also the more perplexing it all is. It is certainly true that web services is still evolving and probably isn't complete enough to be used as the primary technology for large distributed apps.