mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-09 04:53:20 +03:00
feat(web-publish): публикация сервисов расширений в default.vrd
publishExtensionsByDefault="true" на <ws> и <httpServices>: сервисы, поставляемые расширениями конфигурации, публикуются вместе с сервисами самой конфигурации. Без атрибута HTTP-сервис расширения отдаёт 404, web-сервис — 500 «Сервис не найден». Проверено E2E на 8.3.24 (A/B на одном дескрипторе, оба порта). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
27e78859e8
commit
1eeea204c3
@@ -84,6 +84,10 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/web-publish.ps1" <
|
||||
3. Если нужно протестировать сервис — помоги составить запрос
|
||||
4. Если база не зарегистрирована — предложи `/db-list add`
|
||||
|
||||
Публикуются и сервисы расширений — по `publishExtensionsByDefault` в дескрипторе. Если сервис
|
||||
расширения всё же отдаёт 404 (HTTP) или 500 «Сервис не найден» (SOAP), расширение не применено
|
||||
к базе данных: `/db-update -Extension <имя>`.
|
||||
|
||||
## Примеры
|
||||
|
||||
```powershell
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# web-publish v1.4 — Publish 1C infobase via Apache
|
||||
# web-publish v1.5 — Publish 1C infobase via Apache
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
<#
|
||||
.SYNOPSIS
|
||||
@@ -280,8 +280,8 @@ $vrdContent = @"
|
||||
base="/$AppName"
|
||||
ib="$ibString">
|
||||
<standardOdata enable="true"/>
|
||||
<ws pointEnableCommon="true"/>
|
||||
<httpServices publishByDefault="true"/>
|
||||
<ws pointEnableCommon="true" publishExtensionsByDefault="true"/>
|
||||
<httpServices publishByDefault="true" publishExtensionsByDefault="true"/>
|
||||
</point>
|
||||
"@
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# web-publish v1.4 — Publish 1C infobase via Apache
|
||||
# web-publish v1.5 — Publish 1C infobase via Apache
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
|
||||
"""
|
||||
@@ -299,8 +299,8 @@ def main():
|
||||
base="/{app_name}"
|
||||
ib="{ib_string}">
|
||||
<standardOdata enable="true"/>
|
||||
<ws pointEnableCommon="true"/>
|
||||
<httpServices publishByDefault="true"/>
|
||||
<ws pointEnableCommon="true" publishExtensionsByDefault="true"/>
|
||||
<httpServices publishByDefault="true" publishExtensionsByDefault="true"/>
|
||||
</point>'''
|
||||
|
||||
with open(vrd_path, 'wb') as f:
|
||||
|
||||
+18
-2
@@ -16,8 +16,8 @@
|
||||
base="/appname"
|
||||
ib="connection-string">
|
||||
<standardOdata enable="true"/>
|
||||
<ws pointEnableCommon="true"/>
|
||||
<httpServices publishByDefault="true"/>
|
||||
<ws pointEnableCommon="true" publishExtensionsByDefault="true"/>
|
||||
<httpServices publishByDefault="true" publishExtensionsByDefault="true"/>
|
||||
</point>
|
||||
```
|
||||
|
||||
@@ -62,6 +62,22 @@ URL: `/{AppName}/ws/{WebServiceName}?wsdl`
|
||||
Публикация HTTP-сервисов. `publishByDefault="true"` публикует все сервисы из конфигурации.
|
||||
URL: `/{AppName}/hs/{RootUrl}/...`
|
||||
|
||||
#### Сервисы расширений — `publishExtensionsByDefault`
|
||||
|
||||
Атрибут `publishExtensionsByDefault="true"` на `<ws>` и `<httpServices>` публикует сервисы,
|
||||
поставляемые **расширениями** конфигурации. По умолчанию платформа их не публикует: без атрибута
|
||||
HTTP-сервис расширения отдаёт **404**, web-сервис — **500 «Сервис не найден»**. Атрибуты
|
||||
`pointEnableCommon` / `publishByDefault` на сервисы расширений не распространяются.
|
||||
|
||||
Проверено E2E на 8.3.24: A/B на одном и том же дескрипторе — с атрибутами `/hs/...` и `/ws/...?wsdl`
|
||||
отдают 200, без них 404/500. Перезапуск Apache для смены дескриптора не нужен, vrd читается на запрос.
|
||||
|
||||
> Расширение должно быть применено к базе данных (`/db-update -Extension <имя>`), иначе его сервисы
|
||||
> недоступны независимо от дескриптора.
|
||||
|
||||
> **Побочный эффект.** Атрибут действует на все подключённые расширения: любое расширение,
|
||||
> загруженное в ИБ, автоматически выставляет свои сервисы наружу.
|
||||
|
||||
### Расположение
|
||||
|
||||
`{ApachePath}/publish/{AppName}/default.vrd`
|
||||
|
||||
Reference in New Issue
Block a user