ОбъектМетаданных: WebСервис.Имя

Свойства · Name

Тип: Строка. Имя объекта метаданных.

Полное описание, параметры и ограничения

ОбъектМетаданных: WebСервис.Имя (MetadataObject: WebService.Name)

ОбъектМетаданных: WebСервис (MetadataObject: WebService)

Имя (Name)

Доступен, начиная с версии 8.1.

Использование:
Только чтение.
Описание:
Тип: Строка.
Имя объекта метаданных.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Примечание:
Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов, кроме «_».
Использование в версии:

Доступен, начиная с версии 8.1.

Методическая информация

Практические примеры

Разобрать контракт опубликованного в конфигурации Web-сервиса

Сравниваем определения SOAP-операций и параметров с деревом конфигурации, не вызывая сервис и не скачивая WSDL.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.


Для Каждого Сервис Из Метаданные.WebСервисы Цикл
    Сообщить(СтрШаблон("%1 (%2): пространство %3; файл %4",
        Сервис.Имя, Сервис.Синоним, Сервис.ПространствоИмен, Сервис.ИмяФайлаПубликации));
    Сообщить(Сервис.Комментарий);
    Сообщить(СтрШаблон("Пакетов XDTO %1; повторное использование %2; время жизни %3",
        Сервис.ПакетыXDTO.Количество(), Сервис.ПовторноеИспользованиеСеансов, Сервис.ВремяЖизниСеанса));
    Сообщить(Сервис.Модуль = Неопределено);
    Для Каждого Операция Из Сервис.Операции Цикл
        Сообщить(СтрШаблон("Операция %1 (%2) → %3", Операция.Имя, Операция.Синоним, Операция.ИмяПроцедуры));
        Сообщить(Операция.Комментарий);
        Сообщить(СтрШаблон("Результат %1; возможно пустое %2; в транзакции %3; блокировки %4",
            Операция.ТипВозвращаемогоЗначенияXDTO, Операция.ВозможноПустое,
            Операция.ВТранзакции, Операция.РежимУправленияБлокировкойДанных));
        Для Каждого Параметр Из Операция.Параметры Цикл
            Сообщить(СтрШаблон("Параметр %1 (%2): %3; направление %4; возможно пустое %5",
                Параметр.Имя, Параметр.Синоним, Параметр.ТипЗначенияXDTO,
                Параметр.НаправлениеПередачи, Параметр.ВозможноПустое));
            Сообщить(Параметр.Комментарий);
        КонецЦикла;
    КонецЦикла;
КонецЦикла;

Разбор по шагам

  1. WebСервисы описывают SOAP-контракт, а HTTPСервисы — маршруты HTTP: коллекции не взаимозаменяемы.

  2. ПространствоИмен и расширенные имена типов XDTO читаем вместе, поскольку одинаковые локальные имена могут принадлежать разным схемам.

  3. У параметра отдельно смотрим направление передачи и возможность пустого значения; это разные характеристики.

  4. ВТранзакции — настройка операции. Мы не вызываем операцию, поэтому никакая её бизнес-транзакция не выполняется.

Как проверить результат

  1. Число и имена операций совпадают с деревом выбранного Web-сервиса в Конфигураторе.

  2. Для операции сравните тип результата, ИмяПроцедуры и все направления параметров.

  3. При пустой коллекции WebСервисы цикл завершается без обращения к отсутствующему сервису.

Ожидаемый результат

Получена схема SOAP-операций и типов их параметров для изучения серверного обработчика.

На что обратить внимание

  1. ИмяФайлаПубликации не доказывает наличие текущей веб-публикации или доступность WSDL.

  2. ВозможноПустое не следует приравнивать к произвольному отсутствию поля во внешнем JSON: это другой формат обмена.

  3. Метаданные не проверяют фактическую реализацию метода, права пользователя и корректность полезной нагрузки.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Прочитать контракт SOAP-сервиса до проверки публикации

CustomerOrdersExchange описывает обмен заказами. Пространство имён XDTO и файл .1cws не являются доказательством работающей веб-публикации.

Где и как запускать

Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.

Подготовка

  1. Запускайте в учебной копии конфигурации. Примеры читают структуру метаданных, но не создают объекты, не записывают регистры и не проводят документы.

  2. Сверяйте вывод с деревом конфигурации в Конфигураторе. Имена, длины и настройки в УНФ, КА2, БП, УТ 11 и УТ 10.3 могут различаться.

  3. Имена объектов взяты из XML КА2 Progress: C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS. Исходные XML не изменяйте. Выполняйте код только в своей учебной копии соответствующей конфигурации.

  4. В другой конфигурации предварительно найдите аналогичный объект в Конфигураторе и замените только строку имени в поиске. Отсутствие имени обрабатывается до чтения свойств; оно не доказывает отсутствие аналогичной возможности.

  5. Каждый урок запускайте отдельно. Код не вызывает бизнес-функции модулей и обработчики команд, не переключает привилегированный режим и не меняет параметры сеанса.

Сервис = Метаданные.WebСервисы.Найти("CustomerOrdersExchange");
Если Сервис = Неопределено Тогда
    ВызватьИсключение "В учебной конфигурации отсутствует WebСервисы.CustomerOrdersExchange";
КонецЕсли;
Сообщить(Сервис.Имя = "CustomerOrdersExchange");
Сообщить("Синоним: " + Сервис.Синоним);
Сообщить("Комментарий: " + Сервис.Комментарий);
Сообщить(Сервис.ПолноеИмя());
Сообщить(Сервис.Представление());
Сообщить("Принадлежность: " + Строка(Сервис.ПринадлежностьОбъекта));
Сообщить("Идентификатор заимствования: " + Строка(Сервис.ОбъектРасширяемойКонфигурации));
Сообщить("Изменён расширениями: " + Строка(Сервис.ЕстьИзмененияРасширениямиКонфигурации()));
Сообщить("Расширение-владелец: " + Строка(Сервис.РасширениеКонфигурации()));
Родитель = Сервис.Родитель();
Если Родитель = Неопределено Тогда
    ВызватьИсключение "Не получен родитель своего описания контракта";
КонецЕсли;
Сообщить(Родитель = Метаданные);
Сообщить(Сервис.ПространствоИмен = "http://www.1c.ru/CustomerOrders/Exchange");
Сообщить(Сервис.ИмяФайлаПубликации = "CustomerOrdersExchange.1cws");
Варианты = Метаданные.СвойстваОбъектов;
Сообщить(Сервис.ПовторноеИспользованиеСеансов = Варианты.РежимПовторногоИспользованияСеансов.НеИспользовать);
Сообщить(Сервис.ВремяЖизниСеанса = 20);
Сообщить(Сервис.ПакетыXDTO.Количество() > 0);
Сообщить("Объявлено пакетов: " + Строка(Сервис.ПакетыXDTO.Количество()));
Сообщить("Объявлено операций: " + Строка(Сервис.Операции.Количество()));
Сообщить(Сервис.Модуль = Неопределено);
Сообщить("Исходник обработчиков смотрите в файловой выгрузке, не в свойстве Модуль");

Разбор по шагам

  1. Сервис найден по реальному имени из XML. ПолноеИмя и родитель относятся к дереву метаданных, не к сетевому адресу.

  2. ПространствоИмен идентифицирует контракт. ИмяФайлаПубликации — настройка файла дескриптора, не полный адрес сервера.

  3. ПовторноеИспользованиеСеансов = НеИспользовать и время 20 сверяются с XML; число времени само по себе не включает повторное использование.

  4. ПакетыXDTO перечисляют допустимые пакеты типов, Операции — определения операций. Считаются описания, не вызовы или сообщения.

  5. Модуль имеет тип Неопределено в этом API. Его значение не экспортирует BSL обработчиков. Источник читают из выгрузки отдельно.

Как проверить результат

  1. Восемь контрольных Истина плюс диагностические имена, флаги, количество операций/пакетов.

  2. Не было запроса WSDL, SOAP, открытия соединения или выполнения обработчика.

Ожидаемый результат

Для будущего теста публикации получено реальное описание контракта.

На что обратить внимание

  1. URI пространства имён может выглядеть как HTTP-ссылка, но код не открывает его.

  2. Проверка описания не подтверждает публикацию, сертификат, авторизацию или успешный SOAP-ответ.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.