I've recently been spending some quality time with WSE 2.0 SP2, and let me tell you, this wiz-bang framework provides a lot of bang for the buck. I've implemented a prototype communications layer for our application, replacing our custom TCP based RPC mechanism with a SOAP / WSE Framework. Lots of 'interesting' steps along the way. I'll expand on these later, but my initial impressions are:
1. Lots of documentation, but it's not very descriptive. For a quick example, what's the difference between the Microsoft.Web.Services2.Policy.WSEPolicy Class and the Microsoft.Web.Services2.Policy.WSPolicy Class? If we review the docs we find that the first one "Defines policy assertion constants that are specific to the Web Services Enhancements" and the second one claims that "these constants map to elements and attributes defined in the WS-Policy specification".
But nowhere in the documentation does it say why these classes are important to me. (Actually, they are not, but there is so much of this it's hard to tell what is important and what isn't).
2. Most people refer you to the quick start samples. I take this as an indication that the documentation is incomplete.
3. Most of the samples are certificate-bound, especially those centering around WS-SecureConversation.
4. Most of the examples assume are bound to a common use case. For example, I wanted to setup and teardown WS-SecureConversation sessions, but most (if not all) of the WS-SecureConversation examples leverage WS-Policy and auto-issued tokens. This means that the SecureContextToken will be tied to the Appdomain, which makes programmatic sessions problematic. (More on this in a later post).
So, in summary, WSE 2.0 SP2 has some definite coolness, but it's not a mainstream toolset. If you are going to use it in a production scenario, budget some time to wrap your head around things, and then budget some more time to wrap your software around the Microsoft WSE way of doing things.
(Note: I'd like to point out that I'm not a developer that needs to be spoon-fed information. I'm just pointing out that it can be a little time-consuming to figure out the current WSE Framework, especially if you are doing something that's not cookie-cutter.)