Если вам не нужны функции протоколов серии WS- *; если вам не нужны услуги с самоописанием; если ваш сервис не может быть полностью описан как ресурсы, как определено протоколом HTTP; если вам не нравится создавать XML для каждого взаимодействия со службой, а затем анализировать его; тогда вам нужно SOAP.
В противном случае обязательно используйте REST.
Возник некоторый вопрос о ценности услуги с самоописанием. Мое воображение подводит меня, когда дело доходит до представления, как кто-то может не понять этого. Это на мне. Тем не менее, я должен думать, что любой, кто когда-либо использовал услугу, намного более сложную, чем «Hello, world», знал бы, почему так важно, чтобы кто-то еще написал код, который принимает параметры, создает XML для отправки в службу, отправляет он получает ответ, затем превращает его обратно в объекты.
Теперь, я полагаю, это может не понадобиться при использовании службы RESTful; по крайней мере, не с сервисом RESTful, который не обрабатывает сложные объекты. Даже с относительно простой службой, такой как http://www.earthtools.org/webservices.htm (которую я использовал в качестве примера вызова службы RESTful), можно понять структуру возвращаемых данных. Даже вышеуказанный сервис предоставляет XML-схему - к сожалению, он не описывает весь ответ. Принимая во внимание эту схему, все же необходимо вручную обработать XML или использовать инструмент для создания сериализуемых классов из схемы.
Все это происходит для вас, когда служба описана в WSDL, и вы используете такой инструмент, как «Добавить ссылку на службу» в Visual Studio, или программу svcutil.exe, или команду «я забуду, что за команда» -is-в-Затмения.
Если вам нужны примеры, начните со служб EarthTools и перейдите к любым другим службам с более сложным обменом сообщениями.
Кстати, еще одна вещь, которая требует самоописания - это описание шаблонов обмена сообщениями и протоколов, поддерживаемых службой. Возможно, это не требуется, когда единственными вариантами выбора являются HTTP-глаголы по HTTP или HTTPS. Жизнь становится сложнее, если вы используете WS-Security и друзей.