Microsoft has recently released Web Services Enhancements for Microsoft .NET (WSE) 2.0. WSE 2.0 provides extensions to the existing ASP.NET Web services framework (.asmx) as well as a standalone messaging framework that's completely transport independent.
WSE provides a shipping vehicle for introducing new Web services functionality in a timely fashion. This makes it possible for Microsoft to keep up with emerging Web services specifications that are continually changing. Since WSE serves as a platform extension, it wasn't designed under the same constraints that apply to a major platform release. This means WSE doesn't have to play by the same rules as, say, a new release of the .NET Framework where breaking changes would be disastrous.
According to the documentation, "WSE attempts to maintain a degree of compatibility" but it acknowledges that complete compatibility won't be possible given the nature of certain changes. For example, sending a SOAP message between an application built with WSE 1.0 and another application built with WSE 2.0 will always result in a SOAP fault. This is because each version implements a different set of Web services specifications. WSE 1.0 implements WS-Routing and the original WS-Security specifications, while WSE 2.0 implements WS-Addressing and the new OASIS WS-Security standard.
There may also be code incompatibilities when moving between WSE versions. The development team made several breaking changes to the WSE object model between versions 1.0 and 2.0. This means you'll have to rework some existing WSE 1.0 code to work with the new WSE 2.0 object model.