SOAP XML WCF służy do tworzenie usług sieciowych w .NET . ASP.NET MVC fantastycznie nadaje się do tworzenia aplikacji sieciowych REST. Co znaczy, że WCF w wypadku usług typu REST nie jest już tak bardzo potrzebny. Ma on jednak wciąż swoje miejsce w rodzinie .NET jako framework do tworzenia usług typu SOAP.
Protokół SOAP został stworzony przez Microsoft i mimo swojej nazwy nie jest jednak taki prosty jak mydło. SOAP wysyła wiadomości wyłącznie w formacie XML. Microsoft stworzył SOAP z myślą o zastąpieniu jeszcze starszych technologii jak DCOM, czy protokołów binarnych przekazu informacji, jak np. CORBA. (Common Object Request Broker Architecture).
SOAP dostał swój standard i śmiało można z niego korzystać nawet dziś. Główną jego zaletą jest większe bezpieczeństwo niż w usługach typu REST. Posiada też wbudowaną obsługę błędów.
SOAP w swoich komunikatach zwrotnych, jak i zapytaniach wymaga dużej ilości informacji w formacie XML. Komunikaty więc są dużo pojemniejsze niż w usługach REST. Co więcej, przez to skomplikowanie powstała idea, aby na podstawie pliku WSDL tworzyć obiekty klas w Javie i w C#, które później za nas zostały przetłumaczone na odpowiedzi lub zapytania XML do usługi SOAP.
Taki styl programowania jest preferowany. Pisanie swojego kodu wysyłającego XML do usługi wydaje się dodatkową pracą, ale czy zawsze tak jest?