Исключения выставляют ряд ограничений и возможных рисков безопасности:
- они зависимы от платформы/технологии;
- исключения могут вызвать плотную связь между клиентами и сервисом (Клиенты должны знать, какие исключения могут быть вызваны каждой операцией);
- исключения могут выдать клиентам подробности реализации сервиса;
- исключения могут выдать частную и личную информацию;
- исключения и иерархии исключений тяжело представимы с помощью метаданных.
Поэтому требуется связать исключения на сервисе с их эквивалентом на клиенте.
Это легко реализовать с помощью SOAP Faults. Особенно это интересно тем, что исключения, которые получают клиенты WCF, представлены как FaultException.