Веб-ссылки (и технология ASMX в целом) не поддерживают ошибки.Это не просто проблема в ссылках на сервисы WCF, а скорее на сервисы в целом.
Лучшее, что вы можете сделать, это перехватить исключение SoapException
и посмотреть на свойство Detail
, чтобы увидеть, какой тип ошибки былпослал.Но вы не можете перехватить отдельные исключения для каждой ошибки.
Точно так же, если вы писали сервис ASMX, вы обнаружите, что автоматически сгенерированный WSDL не может описывать ошибки, которые возвращает ваша служба;на самом деле нет способа указать, что ваша служба возвращает ошибки.
Существует исправление этой проблемы - WCF.К сожалению, если вы застряли на .NET 2.0, то вам не повезло.
Однако вы должны знать, что .NET 3.5 - это не более чем .NET 2.0 SP2 плюс некоторые новые сборки.Это безопасно для обновления.