Исключения, генерируемые веб-сервисом

Об исключениях Важно:

Здесь рассматриваются только те исключения, которые генерируются самим веб-сервисом. Исключения, которые возникают в процессе сетевого обмена между клиентом и веб-сервером, как установление связи, проверка на соответствие заявленным протоколам и схемам и другое, прямого отношения к веб-сервису не имеют, поэтому здесь и не рассматриваются.

При обработке запроса клиента метода веб-сервиса при обнаружении ошибки в введенных данных, а также при обнаружении технических проблем вызывает исключение. Тип исключения - System.Web.Services.Protocols.SoapException. Информация о проблеме, вызвавшей исключение, находится в атрибутах свойства Detail класса SoapException. Схема этого свойства представлена здесь.

ОПИСАНИЕ АТРИБУТОВ СВОЙСТВА DETAIL

ExceptionMessage [string] - обязательный атрибут, в котором хранится текстовое описание ошибки;
ExceptionID [int] - обязательный атрибут, в котором хранится код ошибки.

Коды ошибок делятся на группы:

  • <0 - сообщение об ошибках в переданных функциям или процедурам веб-сервиса данных. Список таких сообщений и их кодов можно получить с помощью функции "Список кодов ошибок" . При этом содержание атрибута ExceptionMessage соответствует списку кодов ошибок;
  • =0 - тип проблемы, вызвавшей исключение, следует нам еще классифицировать. Попытку повторного вызова методов веб-сервиса, вызвавшей исключение, необходимо сделать через некоторое время.
  • =1 - ошибка в базе данных.
  • =2 - ошибка сервера печатных форм.

AdditionalErrors [string] - необязательный атрибут, в котором передается дополнительная информация об ошибке. Вид и тип этой информации зависит от метода веб-сервиса, вызвавшей исключение.

В этом атрибуте в строковом представлении передается XML-структура: