fix(web-publish): корректное включение OData через <standardOdata> в default.vrd

Атрибут enableStandardOdata на <point> не распознаётся платформой → OData 404.
Заменено на дочерний <standardOdata enable="true"/> (строчная форма; E2E 8.3.24+8.3.27).
Заглавная <standardOData> из ИТС также даёт 404 — задокументировано в web-spec.md. v1.4.

Co-Authored-By: Pavel V <40602668+PavelVir@users.noreply.github.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-06-23 20:46:28 +03:00
co-authored by Pavel V Claude Opus 4.8
parent 23af4aa6a8
commit 38d89af47d
3 changed files with 12 additions and 10 deletions
@@ -1,4 +1,4 @@
# web-publish v1.3 — Publish 1C infobase via Apache # web-publish v1.4 — Publish 1C infobase via Apache
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
<# <#
.SYNOPSIS .SYNOPSIS
@@ -278,8 +278,8 @@ $vrdContent = @"
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/$AppName" base="/$AppName"
ib="$ibString" ib="$ibString">
enableStandardOdata="true"> <standardOdata enable="true"/>
<ws pointEnableCommon="true"/> <ws pointEnableCommon="true"/>
<httpServices publishByDefault="true"/> <httpServices publishByDefault="true"/>
</point> </point>
@@ -1,5 +1,5 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# web-publish v1.3 — Publish 1C infobase via Apache # web-publish v1.4 — Publish 1C infobase via Apache
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
""" """
@@ -297,8 +297,8 @@ def main():
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/{app_name}" base="/{app_name}"
ib="{ib_string}" ib="{ib_string}">
enableStandardOdata="true"> <standardOdata enable="true"/>
<ws pointEnableCommon="true"/> <ws pointEnableCommon="true"/>
<httpServices publishByDefault="true"/> <httpServices publishByDefault="true"/>
</point>''' </point>'''
+6 -4
View File
@@ -14,8 +14,8 @@
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/appname" base="/appname"
ib="connection-string" ib="connection-string">
enableStandardOdata="true"> <standardOdata enable="true"/>
<ws pointEnableCommon="true"/> <ws pointEnableCommon="true"/>
<httpServices publishByDefault="true"/> <httpServices publishByDefault="true"/>
</point> </point>
@@ -48,10 +48,12 @@ File=&quot;C:\Bases\MyDB&quot;;Usr=&quot;Admin&quot;;Pwd=&quot;123&quot;;
### Дочерние элементы ### Дочерние элементы
#### `enableStandardOdata` (атрибут `<point>`) #### `<standardOdata>`
Стандартный OData-интерфейс платформы. `enableStandardOdata="true"` открывает REST-доступ ко всем объектам. Стандартный OData-интерфейс платформы. `<standardOdata enable="true"/>` открывает REST-доступ к опубликованным объектам (состав настраивается в «Настройка автоматического REST-сервиса» → вкладка «Состав»; при пустом составе сервис-документ отдаёт HTTP 404).
URL: `/{AppName}/odata/standard.odata` URL: `/{AppName}/odata/standard.odata`
> **Регистр важен.** Рабочая форма — строчная `<standardOdata enable="true"/>` (проверено E2E на 8.3.24 и 8.3.27: отдаёт HTTP 200). Заглавная `<standardOData>` из «Руководства администратора» парсером vrd **не распознаётся** → OData 404. Старый атрибут `enableStandardOdata="true"` на `<point>` (до 8.3.9) также не работает.
#### `<ws>` #### `<ws>`
Публикация SOAP web-сервисов. `pointEnableCommon="true"` публикует все сервисы из конфигурации. Публикация SOAP web-сервисов. `pointEnableCommon="true"` публикует все сервисы из конфигурации.
URL: `/{AppName}/ws/{WebServiceName}?wsdl` URL: `/{AppName}/ws/{WebServiceName}?wsdl`