6
votes

I'm writing a SOAP Server that will act as an endpoint for an external client. The external client expects SOAP 1.1. I'll be taking embedded business objects in the SOAP messages and passing them to an internal application, getting responses back and responding with SOAP messages to the eternal client.

I did the traditional ASMX based web services several years ago. Now, I've been exploring WCF Services and wondering the best approach to take.

1) Should WCF be considered a superset of ASMX web services?

2) Is there any reason to still write new web services using ASMX instead of WCF?

3) Does WCF provide better facilities for working with SOAP messages, as opposed to SOAP Extensions?

4) Can I restrict communication to SOAP 1.1 using WCF, the way I can with a web.config change in ASMX?

5) Does WCF have an easy way to log or review the requests that hit the service without resorting to something like SOAP extensions?

Sorry my questions are not very specific; still trying to get handle on what I need to know...

Using VS2008, Windows Server 2008.

Chris

1
Thanks to everyone on their feedback. I'm going to try to do it using WCF; does anyone know where I can find any good examples of parsing/working with SOAP messages within VS2008? I'm struggling to get a working web service using either asmx or wcf with SOAP. - wchrisjohnson
You don't parse messages with WCF - you add a Service Reference. See johnwsaundersiii.spaces.live.com/blog/… for one example, and see msdn.microsoft.com/wcf for a lot more. - John Saunders

1 Answers

5
votes

I would recommend that you use WCF. If you configure your WCF service to use basichttpbinding, it will work as a SOAP 1.1 service.

  1. WCF "replaces" several communication technologies, including asmx.
  2. I cannot think of any technical reason. You may do it if you have a team that knows asmx but not wcf, or you have a project with a lot of asmx services and you do not want to introduce a new technology.
  3. WCF has message contracts, but not 100% sure what you mean here.
  4. Yes, basic http binding
  5. Yes, you can use WCF tracing