sticky
WSE is Obsolete - Use Only If Necessary

    General discussion

  • To my fellow Web Service Developers:

    I have repeatedly encountered developers who learn about WSE (Web Service Enhancements) through Google or some other search engine. In many cases, they were not searching for WSE, but instead were searching for "web service security" or "web service outside of IIS". Because the search turned up a WSE article, some of these developers are starting off with WSE when they don't need to.

    I want to make clear what I so frequently have to repeat: WSE is obsolete. It has been replaced by WCF (Windows Communication Framework). WSE is not supported by Visual Studio 2008 or above. This should give you an idea about how Microsoft thinks about WSE. If your project is at all important, and if you expect it to last more than a few months, then you will not be doing yourself any favors by depending on this obsolete software.

    WCF is supported by .NET 3.0 and above, though your best option would be .NET 3.5 SP1. Some organizations will not upgrade to .NET 3.5 because they are concerned about the impact on their existing .NET 2.0 applications. There is little need for concern: .NET 3.5 SP1 consists of .NET 2.0 SP2 and some additional assemblies that are not used by your existing .NET 2.0 applications. It will also not change your IIS script mappings the same way the upgrading from .NET 1.1 to .NET 2.0 did.

    Obviously, if you are working on an existing WSE application, then you should upgrade to WSE when you get a chance, but should continue to maintain your application until you upgrade. A small number of you will have no choice but to use WSE for new applications; perhaps you must still support Windows 2000. If you have no choice but to use WSE, then feel free to post your WSE questions in this forum. I have found that WSE questions are answered more quickly if you put "WSE" into the subject of the question.

    Good Luck to All,
    John Saunders

    Microsoft MVP, Connected Systems
    (See https://mvp.support.microsoft.com/profile/john.saunders/)

    John Saunders
    Use File->New Project to create Web Service Projects
    Use WCF for All New Web Service Development, instead of old ASMX or obsolete WSE
    Tuesday, June 02, 2009 12:20 AM

All replies

  • Excellent post, John, and thank you for putting this out there.

    Regards,

    Ed
    Tuesday, June 02, 2009 11:08 PM
  • Thanks John, This information really helps.
    Tuesday, June 16, 2009 6:48 AM
  • Thanks John,But I think we can implement WSE in 2008 also

    Gyanendra (Bank of America)
    Monday, September 28, 2009 4:35 AM
  • No, you can't. Not in the IDE, and it's not supported in VS2008 or above.

    If you find out how to do it, post the information here.

    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Monday, September 28, 2009 5:54 PM
  • Thanks John for sharing your insights with us.

      When you say "Not in the IDE" , I don't understand I'm just reading your post fresh after completing a sample application[Webservice .asmx and its client] using WSE 2.0 SP2 on a .NET 2.0 WebServices application developed completely in VS 2008 . It was simply straightforward .

    SnapShot [.jpeg] of What I've done

    Pls correct me if was wrong .

    Anand

     

     

    Saturday, October 10, 2009 8:27 AM
  • I keep finding WSE 3 by doing searches for inside MSDN for MTOM as well as various error messages.  Without a timely posting such as this I can't tell that I'm wasting time.  Thanks for the posting.
    Thursday, November 19, 2009 9:17 PM
  • I too was just about to delve into WSE. I thought WCF was about wrestling until I found this post - LOL. Thanks.
    Internet Alarm Monitoring web sites in ASP.Net
    Saturday, November 28, 2009 2:41 PM
  • Thanks John.

    I was actually starting to read up on WS-* and its applications in .NET.  That is how I stumbled on WSE3.

    WS-* http://www.infoq.com/articles/ws-standards-wcf-bustamante
    Monday, January 11, 2010 3:37 PM
  • Yes, you were wrong to help your fellow developers to waste their time with obsolete software.  While their competitors are quickly developing good software using WCF, those who follow your path will be running as fast as they can to stay in one place with the obsolete WSE.

    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Monday, January 11, 2010 4:59 PM
  • John, perhaps you have some references that bridge the learning gap between WCF ans WS-* ?
    Monday, January 11, 2010 5:27 PM
  • Note that WSE and WS-* are not related, except that various versions of WSE implement various versions of some of the WS-* standards.

    Really, the best thing to do is to just leap into WCF. The basics of it are quite simple. You can implement a simple "Hello, world" service that implements WS-Security simply by adding a "WCF Service Project" to your solution.

    The WCF learning center is at http://msdn.microsoft.com/wcf/.

    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Monday, January 11, 2010 5:37 PM
  • So WS-* protocols are implemented into WCF?  That's cool.

    Monday, January 11, 2010 5:55 PM
  • WSE was an interim product intended as a way to implement the WS-* protocols until WCF was available. WCF has been evailable for over three years now, and implements more of the WS-* protocols that WSE did.

    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Monday, January 11, 2010 6:08 PM
  • I found the WCF samples


    • Edited by fixitchris Monday, January 11, 2010 7:44 PM
    Monday, January 11, 2010 7:04 PM
  • Good luck, and you can also get some help over on the WCF forum .
    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Monday, January 11, 2010 7:41 PM
  • When I need Web Services for other java proejcts, what should I do?

    Thanks.

    Thursday, January 14, 2010 8:44 PM
  • Use WCF. See http://msdn.microsoft.com/wcf/.

    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Thursday, January 14, 2010 8:46 PM
  • Nice article John!

    -Mohammed Ghouse Ibne Barq Kadapavi
    Friday, February 19, 2010 9:59 PM
  • Thanks for this post. So straight to the point and simple!! i wud start with WCF.
    Monday, March 29, 2010 6:04 PM
  • Gentlemen,  John is right on with the "WCF" recomendation.  I now use WCF for all of my web services.  I am in the process of converting all of my old "asmx" code.  May I suggest that you Google (OK "Bing") Michele Bustamonte (I may have mispelled here last name.  She has an excellent series of 15 presentations on WCF called "WCF Top to Bottom".  She also has a wonderful reference book of the same name.  Look for a used version on Amazon.  This reallly is great stuff and far more flexible than the previous web services.  Good luck to you all and happy coding...
    Saturday, May 08, 2010 1:16 PM
  • Thanks for this post John!
    Wednesday, June 02, 2010 8:53 PM
  • Thanks a lot
    Friday, September 09, 2011 6:23 AM
  • Nice Post :)
    Pravin Arote, MCTS - Web Technologies. If reply answers your question, Please mark as Answer :)
    Tuesday, September 13, 2011 4:55 AM
  • I often find situations where the old ASMX accomplishes exactly what I need it to accomplish with a  minimum of fuss, muss and bother.  I do understand that WCF has it's uses but why fix something that's not broken and why quit using it when it does what it needs to do to meet my needs?
    What monstrosities would walk the earth were men's faces as unfinished as their minds. Victor Hugo
    Thursday, November 10, 2011 8:46 PM
  • One reason is that the vendor has determined that there will be no improvements to the ASMX technlology, and nothing but the most critical bug fixes.

    Another thing is that, for very little additional effort, you get a much better feature set. Consider the simple matter of logging. With WCF you can simply turn it on with configuration. No need to create a SoapExtension to do the job for you; it's built-in.


    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Friday, November 11, 2011 12:36 AM
  • I have also posted three artciles about WCF that I would like to share with you:

    http://blog.csharplearners.com/category/wcf/

    Regards,

    Amir Ahani (MBA+MCSD.NET)

     

    Sunday, November 27, 2011 4:43 AM
  • I would like to answer your question in details:

    WCF is a new technology that has combined the best features of XML Web Services and .NET Remoting, along with some improvements.

    The following is some advantages of using WCF to Web Services: 

    1- Web Services supports SOAP. WCF services can use the HTTP, TCP, SMTP, named pipes and MSMQ protocols.

    2- Web Services do not keep session values by default wheras WCF sessions are explicitly defined and closed from client side applications. There are two kinds of sessions in WCF: Reliable session which is responsible for transactions, and the other type keeps session values for objects. Therfore, the session values are managed much better in WCF.

    3- In Web Services, unhandled exceptions are returned to the client as SOAP <Fault> elements in XML format. Web Services can throw an exception, and the message of the exception can be seen once it is deserialized on the client side. WCF allows you to hide the details of an error and to show only the required information. It handles errors in both ways: Exception objects and SOAP Faults.

    4- Web Services are hosted in IIS by pointing the ASMX file to the virtual directory. Unlike Web Services, WCF provides more options for hosting. It combines old hosting options with new ones like hosting on WAS. WCF applications can also be hosted in the following ways:
    a.Self hosting
    b.Windows Service
    c.IIS and WAS

    And much more...

    You can learn more about WCF by visiting the follwoing link:

    http://blog.csharplearners.com/2011/09/11/windows-communication-foundation-links/#more-142

    Regards,

    Amir Ahani (MCSD.NET + MBA)


    Sunday, November 27, 2011 5:56 AM
  • This isn't really the best place to discuss WCF.
    John Saunders
    WCF is Web Services. They are not two separate things.
    Use WCF for All New Web Service Development, instead of legacy ASMX or obsolete WSE
    Use File->New Project to create Web Service Projects
    Sunday, November 27, 2011 6:36 AM
  • Thanks  John
    Tuesday, February 07, 2012 10:17 AM