В наших проектах у нас есть фасадный слой, который предоставляет сервисы и карты бизнес-объектам, и бизнес-уровень, на котором выполняется бизнес-логика.
Таким образом, чтобы добавить конечную точку SOAP для существующего сервиса, мы просто создаем новый фасад и обращаемся к той же бизнес-логике.
Во многих случаях это даже проще, поскольку мы используем WCF, у нас может быть конечная точка http SOAP для внешних клиентов и двоичная конечная точка tcpip для внутренних клиентов. Новая конечная точка может быть добавлена путем изменения конфигурации без необходимости изменения кода.