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

Свойства · Name

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

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

ОбъектМетаданных: ШаблонURLHTTPСервиса.Имя (MetadataObject: HTTPServiceURLTemplate.Name)

ОбъектМетаданных: ШаблонURLHTTPСервиса (MetadataObject: HTTPServiceURLTemplate)

Имя (Name)

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

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

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

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

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

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

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

Собрать учебный путь по шаблону URL

Подставляем только собственные ASCII-метки в storage/{Storage}/{ID}. Путь остаётся строкой, запрос не отправляется.

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

Полный серверный модуль учебной копии КА2 Progress 2.5.20.75; без HTTP, публикации и печати.

Подготовка

  1. Изолированная учебная копия КА2 Progress 2.5.20.75 из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, платформа 8.5.1.1343. Создайте серверный общий модуль УчебныеМаршрутыИМакеты.

  2. Вставьте полный модуль одного урока и вызовите УчебныеМаршрутыИМакеты.ВыполнитьПример() своей серверной учебной командой.

  3. Источники: HTTPServices\ПередачаДанных.xml и ПередачаДанных\Ext\Module.bsl; Documents\РеализацияТоваровУслуг\Templates\ПФ_MXL_РеализацияТоваров.xml.

  4. Метаданные только читаются. HTTP-запросы, публикация сервиса, загрузка/удаление файлов хранилища и печать документов не выполняются.

  5. Формируемый путь с guide-owned-storage — учебная строка, не действующий адрес публикации. GET/POST обработчики могут выполнять прикладную работу и здесь не вызываются.

  6. Макет печати получается в память без создания документа реализации и без заполнения его данными. Чтение размера макета не доказывает корректность настоящей печатной формы.

Процедура ВыполнитьПример() Экспорт
    Сервис = Метаданные.HTTPСервисы.Найти("ПередачаДанных");
    Если Сервис = Неопределено Тогда
        ВызватьИсключение "Нет подтверждённого HTTP-сервиса ПередачаДанных";
    КонецЕсли;
    Шаблон = Сервис.ШаблоныURL.Найти("ХранилищеИИдентификатор");
    Если Шаблон = Неопределено Тогда
        ВызватьИсключение "Нет подтверждённого шаблона ХранилищеИИдентификатор";
    КонецЕсли;
    Сообщить(Шаблон.Имя = "ХранилищеИИдентификатор");
    Сообщить(Шаблон.Шаблон = "/storage/{Storage}/{ID}");
    Сообщить(Шаблон.Методы.Количество() = 2);
    Путь = СтрЗаменить(Шаблон.Шаблон, "{Storage}", "guide-owned-storage");
    Путь = СтрЗаменить(Путь, "{ID}", "00000000-0000-0000-0000-000000000001");
    ОтносительныйURL = "/hs/" + Сервис.КорневойURL + Путь;
    Сообщить(ОтносительныйURL = "/hs/dt/storage/guide-owned-storage/00000000-0000-0000-0000-000000000001");
    Сообщить(ОтносительныйURL);
    Сообщить(Шаблон.Синоним);
    Сообщить(Шаблон.Комментарий);
    Сообщить(Шаблон.ПолноеИмя());
    Сообщить(Шаблон.Представление());
    Сообщить(Шаблон.ПринадлежностьОбъекта);
    Сообщить(ТипЗнч(Шаблон.ОбъектРасширяемойКонфигурации));
    Сообщить(Шаблон.ЕстьИзмененияРасширениямиКонфигурации());
    Сообщить(ТипЗнч(Шаблон.РасширениеКонфигурации()));
    Сообщить(Шаблон.Родитель() = Сервис);

КонецПроцедуры

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

  1. Найти шаблон внутри подтверждённого сервиса.

  2. Проверить его исходную строку и два метода.

  3. Заменить два именованных параметра собственными заранее заданными ASCII-значениями и добавить /hs/dt.

  4. Вывести точный относительный путь. Родитель шаблона — сервис, не корень конфигурации.

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

  1. Пять фиксированных проверок дают Истина.

  2. Получается /hs/dt/storage/guide-owned-storage/00000000-0000-0000-0000-000000000001. Имени реальной публикации и сетевого вызова нет.

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

Конкретный пример разбора шаблона и формирования собственного относительного пути.

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

  1. Для внешних значений требуется корректное кодирование сегментов URL: этот образец использует только безопасные фиксированные ASCII-метки.

  2. Не подставляйте произвольные /, ?, # в сегменты простой заменой.

  3. Наличие шаблона не доказывает, что пользователь имеет доступ к хранилищу.

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

Составить карту HTTP-сервиса из метаданных

Для каждого сервиса показываем корневой URL, шаблоны, HTTP-методы и имена обработчиков. Сетевые запросы не отправляем.

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

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

Подготовка

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

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


Для Каждого Сервис Из Метаданные.HTTPСервисы Цикл
    Сообщить(СтрШаблон("Сервис %1 (%2); корень %3", Сервис.Имя, Сервис.Синоним, Сервис.КорневойURL));
    Сообщить(Сервис.Комментарий);
    Сообщить(СтрШаблон("Повторное использование %1; время жизни %2",
        Сервис.ПовторноеИспользованиеСеансов, Сервис.ВремяЖизниСеанса));
    Сообщить(Сервис.Модуль = Неопределено);
    Для Каждого Маршрут Из Сервис.ШаблоныURL Цикл
        Сообщить(СтрШаблон("Шаблон %1 (%2): %3", Маршрут.Имя, Маршрут.Синоним, Маршрут.Шаблон));
        Сообщить(Маршрут.Комментарий);
        Для Каждого Метод Из Маршрут.Методы Цикл
            Сообщить(СтрШаблон("  %1 → %2", Метод.HTTPМетод, Метод.Обработчик));
        КонецЦикла;
    КонецЦикла;
КонецЦикла;

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

  1. КорневойURL относится к пути сервиса внутри публикации. Не добавляем домен, порт и имя публикации наугад.

  2. ШаблонURL сопоставляется с методом запроса. Одинаковый путь с GET и POST может иметь разные обработчики.

  3. Обработчик — строка имени процедуры. Свойство Модуль в доступном API равно Неопределено и не раскрывает исходный текст.

  4. Параметры повторного использования сеанса читаем для последующего исследования, ничего не переключаем.

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

  1. В Конфигураторе HTTP-сервисы → выбранный сервис → Шаблоны URL найдите совпадающие имена, шаблоны и методы.

  2. Если публикации нет, пример всё равно может вывести определения: это не ошибка и не доказательство доступности URL.

  3. В примере нет HTTPСоединения: внешние системы не получают запросов.

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

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

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

  1. Метаданные не показывают настройки веб-сервера, TLS, аутентификацию и фактические коды ответа.

  2. Не считайте путь из метаданных рабочей ссылкой без проверки конкретной публикации.

  3. Наличие метода DELETE не даёт разрешения проверять удаление на рабочем сервере.

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

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

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

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

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