Тип встроенного языка, порождаемый элементом проекта вида «SoapСервис»
После того как вы добавили в проект SOAP-сервис и дали ему имя, «1С:Исполнитель» создает один тип встр оенного языка. Имя этого типа совпадает с именем вашего SOAP-сервиса.
Например, для SOAP-сервиса с именем СервисМагазина будет создан тип СервисМагазина
. В общем случае имя этого типа выглядит следующим образом: <Имя-soap-сервиса>
.
Тип <Имя-soap-сервиса>
Тип <Имя-soap-сервиса>
доступен на сервере.
Он позволяет пересчитать разрешения доступа — ПересчитатьРазрешенияДоступа()
(подробнее).
Этот тип не имеет конструктора и имеет единственный экземпляр, обращение к которому выполняется по имени типа:
// Пересчитать разрешения доступа для SOAP-сервиса «СервисМагазина»
СервисМагазина.ПересчитатьРазрешенияДоступа()
Модуль SOAP-сервиса
В проекте модуль, расширяющий тип <Имя-soap-сервиса>
, называется модулем SOAP-сервиса. Он исполняется на сервере.
В этом модуле вы можете разместить:
- Структуры, для описания:
- передаваемых в сервис параметров и результата запроса. Однако это не обязательно, можно также использовать встроенные типы —
Число
,Строка
и т. д. Данные типы будут автоматически сопоставлены с соответствующими XML-типами. - используемых в сервисе исключений. Данные типы будут сопоставлены с SOAP-ошибками.
- передаваемых в сервис параметров и результата запроса. Однако это не обязательно, можно также использовать встроенные типы —
- Методы для описания операций, выполняемых в результате вызова обработчиков.
Пример модуля SOAP-сервиса:
// Описание пользовательской ошибки
@ВПроекте
исключение MyCustomException
обз пер ReasonDescription: Строка
обз пер AppErrorCode: Число
;
// Структура, описывающая параметры метода обработчика
структура Item
обз пер Sku: Число
обз пер Name: Строка
обз пер Price: Число
;
//Обработчик операции сервиса
метод ДобавитьВКорзину(Item: Item, Count: Число)
// Метод, написанный разработчиком
;
Ограничения на код модуля
-
Запрещено использовать кириллицу в именах обработчиков.
-
В структурах встроенного языка, используемых в сообщениях (параметрах и возвращаемых значениях обработчиков на встроенном языке SOAP-сервиса), в заголовках, а также в исключениях встроенного языка, используемых как SOAP ошибки:
- Не должно быть циклических ссылок.
- Допустим только составной тип, состоящий из одного из поддерживаемых типов +
Неопределено
. В этом случае в XML-элементе будет использовано ограничениеminOccurs=0
. Другие составные типы не разрешены. - Допустимы только следующие типы данных:
Тип встроенного языка XML тип Примечание Строка
string
Число
decimal
Булево
boolean
ДатаВремя
dateTime
Дата
date
Время
time
Месяц
gMonth
Длительность
duration
Байты
base64Binary
Структура
complexType
Неопределено
minOccurs=0
ЧитаемаяКоллекция<Тип>
, гдеТип
— значения поддерживаемого типаminOccurs=unbounded
; не поддерживается коллекция коллекций
Также в модуле SOAP-сервиса можно обработать событие ВычислитьРазрешенияДоступа
(подробнее).