feat: add soap adapter foundation
This commit is contained in:
@@ -117,7 +117,16 @@
|
||||
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/drafts/generate`
|
||||
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/descriptors/proto`
|
||||
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/descriptors/descriptor-set`
|
||||
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/descriptors/wsdl`
|
||||
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/descriptors/xsd`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/operations/{operation_id}/grpc/services`
|
||||
- `GET /api/admin/workspaces/{workspace_id}/operations/{operation_id}/soap/services`
|
||||
|
||||
Контракт:
|
||||
|
||||
- `POST /descriptors/wsdl` принимает raw WSDL payload и сохраняет inspection metadata для SOAP;
|
||||
- `POST /descriptors/xsd` принимает supporting XSD artifacts для SOAP operation;
|
||||
- `GET /soap/services` возвращает нормализованный список `service -> port -> operation` из последнего WSDL текущего draft version.
|
||||
|
||||
### 5.5. Upstream auth profiles
|
||||
|
||||
|
||||
@@ -125,6 +125,20 @@
|
||||
- `package_index_json`
|
||||
- `created_at`
|
||||
|
||||
`descriptor_kind` дополнительно поддерживает:
|
||||
|
||||
- `wsdl_upload`
|
||||
- `xsd_upload`
|
||||
|
||||
`package_index_json` для `wsdl_upload` хранит нормализованный inspection result:
|
||||
|
||||
- `service_name`
|
||||
- `port_name`
|
||||
- `binding_name`
|
||||
- `endpoint`
|
||||
- `soap_version`
|
||||
- `operations[]`
|
||||
|
||||
### `yaml_import_jobs`
|
||||
|
||||
- `id`
|
||||
|
||||
+18
-10
@@ -96,19 +96,27 @@ Execution constraints:
|
||||
|
||||
- `Protocol::Soap` поддерживает только `unary` и `async_job`;
|
||||
- `window` и `session` для SOAP не поддерживаются;
|
||||
- runtime до появления SOAP adapter обязан отклонять выполнение как `unsupported protocol`.
|
||||
- runtime foundation поддерживает `unary` SOAP request-response execution;
|
||||
- `window` и `session` execution по-прежнему отклоняются как unsupported mode.
|
||||
|
||||
## 7. Как оператор настраивает SOAP operation
|
||||
|
||||
1. Загружает WSDL.
|
||||
2. Система извлекает services, ports, operations и XSD schemas.
|
||||
3. Оператор выбирает service, port и operation.
|
||||
4. UI показывает input/output schema в JSON-oriented виде.
|
||||
5. Оператор настраивает mapping `MCP input -> SOAP body`.
|
||||
6. При необходимости задает SOAP headers и auth profile.
|
||||
7. Настраивает output mapping и fault handling.
|
||||
8. Выполняет test run.
|
||||
9. Публикует operation как MCP tool.
|
||||
2. При необходимости загружает supporting XSD.
|
||||
3. Система извлекает services, ports и operations из WSDL.
|
||||
4. Оператор выбирает service, port и operation.
|
||||
5. UI показывает input/output schema в JSON-oriented виде.
|
||||
6. Оператор настраивает mapping `MCP input -> SOAP body`.
|
||||
7. При необходимости задает SOAP headers и auth profile.
|
||||
8. Настраивает output mapping и fault handling.
|
||||
9. Выполняет test run.
|
||||
10. Публикует operation как MCP tool.
|
||||
|
||||
Foundation routes:
|
||||
|
||||
- `POST /operations/{operation_id}/descriptors/wsdl`
|
||||
- `POST /operations/{operation_id}/descriptors/xsd`
|
||||
- `GET /operations/{operation_id}/soap/services`
|
||||
|
||||
## 8. Поведение runtime
|
||||
|
||||
@@ -116,7 +124,7 @@ Execution constraints:
|
||||
|
||||
1. Валидировать MCP input.
|
||||
2. Построить XML envelope.
|
||||
3. Подставить namespaces и headers.
|
||||
3. Подставить namespaces, `Content-Type` и `SOAPAction`.
|
||||
4. Выполнить HTTP request.
|
||||
5. Разобрать SOAP response и SOAP Fault.
|
||||
6. Нормализовать XML result в JSON.
|
||||
|
||||
Reference in New Issue
Block a user