mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-18 15:45:52 +03:00
feat(web): publish WS, HTTP services and OData by default
VRD now includes <ws>, <httpServices>, <standardOdata> elements so all service types are available out of the box. web-info shows [WS HTTP OData] tags per publication. Docs updated with service URL patterns and scenarios. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.6
parent
31debfb61b
commit
028c5292d7
@@ -112,10 +112,20 @@ if ($pubMatches.Count -eq 0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Detect published services
|
||||||
|
$svcTags = @()
|
||||||
|
if (Test-Path $vrdPath) {
|
||||||
|
if ($vrdContent -match '<ws\s') { $svcTags += "WS" }
|
||||||
|
if ($vrdContent -match '<httpServices\s') { $svcTags += "HTTP" }
|
||||||
|
if ($vrdContent -match '<standardOdata\s') { $svcTags += "OData" }
|
||||||
|
}
|
||||||
|
$svcLabel = if ($svcTags.Count -gt 0) { " [" + ($svcTags -join " ") + "]" } else { "" }
|
||||||
|
|
||||||
$url = "http://localhost:$port/$appName"
|
$url = "http://localhost:$port/$appName"
|
||||||
Write-Host " $appName" -ForegroundColor White -NoNewline
|
Write-Host " $appName" -ForegroundColor White -NoNewline
|
||||||
Write-Host " $url" -ForegroundColor Gray -NoNewline
|
Write-Host " $url" -ForegroundColor Gray -NoNewline
|
||||||
Write-Host " $ibInfo" -ForegroundColor DarkGray
|
Write-Host " $ibInfo" -ForegroundColor DarkGray -NoNewline
|
||||||
|
Write-Host $svcLabel -ForegroundColor DarkCyan
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -75,9 +75,14 @@ powershell.exe -NoProfile -File .claude/skills/web-publish/scripts/web-publish.p
|
|||||||
|
|
||||||
## После выполнения
|
## После выполнения
|
||||||
|
|
||||||
1. Сообщи URL: `http://localhost:{Port}/{AppName}`
|
1. Сообщи URL-ы:
|
||||||
|
- Веб-клиент: `http://localhost:{Port}/{AppName}`
|
||||||
|
- OData: `http://localhost:{Port}/{AppName}/odata/standard.odata`
|
||||||
|
- HTTP-сервисы: `http://localhost:{Port}/{AppName}/hs/<RootUrl>/...`
|
||||||
|
- Web-сервисы: `http://localhost:{Port}/{AppName}/ws/<Имя>?wsdl`
|
||||||
2. Предложи открыть в браузере
|
2. Предложи открыть в браузере
|
||||||
3. Если база не зарегистрирована — предложи `/db-list add`
|
3. Если нужно протестировать сервис — помоги составить запрос
|
||||||
|
4. Если база не зарегистрирована — предложи `/db-list add`
|
||||||
|
|
||||||
## Примеры
|
## Примеры
|
||||||
|
|
||||||
|
|||||||
@@ -230,6 +230,9 @@ $vrdContent = @"
|
|||||||
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">
|
||||||
|
<ws publishByDefault="true"/>
|
||||||
|
<httpServices publishByDefault="true"/>
|
||||||
|
<standardOdata enable="true"/>
|
||||||
</point>
|
</point>
|
||||||
"@
|
"@
|
||||||
|
|
||||||
@@ -365,3 +368,6 @@ if ($httpdCheck) {
|
|||||||
Write-Host ""
|
Write-Host ""
|
||||||
Write-Host "=== Публикация готова ===" -ForegroundColor Green
|
Write-Host "=== Публикация готова ===" -ForegroundColor Green
|
||||||
Write-Host "URL: http://localhost:$Port/$AppName" -ForegroundColor Cyan
|
Write-Host "URL: http://localhost:$Port/$AppName" -ForegroundColor Cyan
|
||||||
|
Write-Host "OData: http://localhost:$Port/$AppName/odata/standard.odata" -ForegroundColor Cyan
|
||||||
|
Write-Host "HTTP-сервисы: http://localhost:$Port/$AppName/hs/<RootUrl>/..." -ForegroundColor Cyan
|
||||||
|
Write-Host "Web-сервисы: http://localhost:$Port/$AppName/ws/<Имя>?wsdl" -ForegroundColor Cyan
|
||||||
|
|||||||
@@ -122,6 +122,29 @@ Claude вызовет `/web-unpublish bpdemo` → удалит блок из htt
|
|||||||
|
|
||||||
Claude вызовет `/web-unpublish --all` → удалит все блоки из httpd.conf → удалит все каталоги → остановит Apache.
|
Claude вызовет `/web-unpublish --all` → удалит все блоки из httpd.conf → удалит все каталоги → остановит Apache.
|
||||||
|
|
||||||
|
## Работа с сервисами
|
||||||
|
|
||||||
|
### Протестировать HTTP-сервис
|
||||||
|
```
|
||||||
|
> Вызови HTTP-сервис ОбменДанными метод ПолучитьСтатус
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude составит curl/Invoke-WebRequest к `http://localhost:8081/appname/hs/exchange/status`
|
||||||
|
|
||||||
|
### Проверить OData
|
||||||
|
```
|
||||||
|
> Покажи список справочников через OData
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude вызовет `http://localhost:8081/appname/odata/standard.odata/$metadata`
|
||||||
|
|
||||||
|
### Получить WSDL web-сервиса
|
||||||
|
```
|
||||||
|
> Покажи WSDL сервиса ОбменСВнешнимиСистемами
|
||||||
|
```
|
||||||
|
|
||||||
|
Claude откроет `http://localhost:8081/appname/ws/ExchangeWithExternalSystems?wsdl`
|
||||||
|
|
||||||
## Ручная установка Apache
|
## Ручная установка Apache
|
||||||
|
|
||||||
Если автоматическая загрузка невозможна (прокси, firewall), используйте флаг `--manual`:
|
Если автоматическая загрузка невозможна (прокси, firewall), используйте флаг `--manual`:
|
||||||
|
|||||||
@@ -43,6 +43,20 @@ File="C:\Bases\MyDB";Usr="Admin";Pwd="123";
|
|||||||
|
|
||||||
> Кавычки внутри значения `ib` экранируются как `"` (XML-сущность).
|
> Кавычки внутри значения `ib` экранируются как `"` (XML-сущность).
|
||||||
|
|
||||||
|
### Дочерние элементы
|
||||||
|
|
||||||
|
#### `<ws>`
|
||||||
|
Публикация SOAP web-сервисов. `publishByDefault="true"` публикует все сервисы из конфигурации.
|
||||||
|
URL: `/{AppName}/ws/{WebServiceName}?wsdl`
|
||||||
|
|
||||||
|
#### `<httpServices>`
|
||||||
|
Публикация HTTP-сервисов. `publishByDefault="true"` публикует все сервисы из конфигурации.
|
||||||
|
URL: `/{AppName}/hs/{RootUrl}/...`
|
||||||
|
|
||||||
|
#### `<standardOdata>`
|
||||||
|
Стандартный OData-интерфейс платформы. `enable="true"` открывает REST-доступ ко всем объектам.
|
||||||
|
URL: `/{AppName}/odata/standard.odata`
|
||||||
|
|
||||||
### Расположение
|
### Расположение
|
||||||
|
|
||||||
`{ApachePath}/publish/{AppName}/default.vrd`
|
`{ApachePath}/publish/{AppName}/default.vrd`
|
||||||
|
|||||||
Reference in New Issue
Block a user