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

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

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

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

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

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

  • Возвращается функциями загрузки преалерта с местами как без ДШВ, так и с ДШВ. В строковом представлении передается XML структура Packages.
  • Возвращается процедурой отмены накладной и функцией краткой истории по накладной. В строковом представлении передается XML структура WBID.