Upgrade to WSE From WSDK
Microsoft's new Web Services Enhancements 1.0 release requires many changes to WSDK-based Web service and client code.
by Roger Jennings
Posted January 6, 2003
The December 5, 2002 release of the Web Services Enhancements (WSE) 1.0 for Microsoft .NET marks the arrival of supported WS-Security, WS-Routing/WS-Referral, and WS-Attachments implementations for the .NET Framework. "Supported" in this context means supported by Microsoft—WS-Security is in the early stages of the OASIS standardization process. Neither IBM nor Sun Microsystems appears interested in supporting WS-Routing and WS-Referral as industry standards. WS-Attachments, Microsoft's Direct Internet Message Encapsulation (DIME) proposal, has gained a bit more traction as a result of DIME's inclusion by reference in the W3C's SOAP 1.2 Attachment Feature working draft.
WSE 1.0 replaces the Microsoft Web Services Development Kit (WSDK) Technical Preview, which had a few shortcomings in the WS-Security and documentation departments. The Microsoft.WSDK namespaces change to Microsoft.Web.Services and many classes have new names, but WSE 1.0 adds no significant new features or changes to SOAP request and response messages. If you've written XML Web services and consuming clients that use the WSDK, set aside a few hours to review the class name changes and upgrade your apps. This article concentrates on upgrading simple WSDK-based projects that don't use X.509 certificates. I'll cover issues with X.509 one-way and bidirectional signing and encryption upgrades in a future FTPOnline article.
If you skipped the WSDK, my earlier "Test-Drive Microsoft's New Web Services Development Kit" article has a basic description of the WSE 1.0 predecessor's feature set. The OakLeaf Web site has links to four live WSDK-based ASP.NET consumers of XML Web services. The WSE 1.0 documentation covers basic topics with simple C# examples extracted from the new QuickStart sample Web service and client consumer code. WSE 1.0 docs now cover DIME implementations and fill previous gaps in class/member descriptions.
Watch Out for WSE Installation Issues
Unlike the WSDK, WSE 1.0 installs correctly under .NET Framework 1.0 SP2 and 1.1 (aka the "Everett release") Beta 1 under Windows 2000 SP3 or Windows XP SP1. Installing WSE 1.0 attempts to remove existing WSDK bits. If you installed the Everett beta after the WSDK, WSE installation fails because WSDK won't uninstall. In this case, you must remove the Everett beta, uninstall the WSDK, and then reinstall Everett. Even if you haven't installed Everett, you should remove the WSDK manually before installing WSE 1.0 to be safe. Unfortunately, you can't run the WSDK and WSE side-by-side.
Installing WSE 1.0 adds a Microsoft WSE 1.0 choice to your Start menu with Documentation, QuickStart Samples Release Notes, Release Notes, and WSE on the Web. WSE documentation isn't integrated with Visual Studio .NET online help, so context-sensitive help isn't available for Microsoft.Web.Services classes and their members. When upgrading WSDK-based projects, keep the Release Notes open while you make numerous Task List fixes.
WSE 1.0 setup removes the <section name="microsoft.wsdk" ... /> element from the <configSections> node of your \WINNT\Microsoft.NET\Framework\v1.0.3705\Config\Machine.config file. Installing under .NET Framework 1.0 adds a <cryptography ... > node to <mscorlib> that, according to the release notes, "improves the stability of signature scenarios under stress conditions." This entry isn't added when you install WSE 1.0 under the Everett release.
Back to top
|