entaxy-public/documentation/core/schema/Schema.adoc

462 lines
18 KiB
Plaintext
Raw Permalink Normal View History

2022-02-28 12:20:38 +00:00
= Sсhema
2021-09-06 14:46:59 +00:00
Есть три типа ресурсов, которые можно загружать в шину и использовать в маршрутах:
. Валидационные типы ресурсов (нпрм xsd). Необходимы для валидации сообщения на соответствие той или иной схеме.
. Трансформационные типы ресурсов (нпрм xslt, amd). Необходимы для трасформации сообщений из одной схемы в другую.
. Ресурсы используемые для генерации сервисов (нпрм wsdl). Необходимы для поднятия сервиса на шине.
Для загрузки трансформационных ресурсов необходимо указывать, является ли данный трансформатор конвертором и схему-источник и схему-результат для неявного преобразования сообщения(конвертор может быть один и только один для пары: схема источник, схема результат)
Схему-источник и схему-результат необходимо указывать только для конверторов, используемых в неявных преобразованиях
Желательно указывать или определять схему для коннектора, если предполагается использовать функционал неявных преобразований. Неявное преобразование будет работать, если:
- в заголовке указана схема-источник
- в заголовке указана схема-приемник
- в реестре есть конвертор для этой пары схем
Указание схемы может попадать в заголовок неявно (из свойств коннектора или из тела сообщения) или явно через медиатор.
== Схема работы с ресурсами.
Сначала загружаем сам ресурс в шину, который мы будем использовать в маршрутах.
Загружаем ресурс и получаем id, с помощью которого можно и _нужно_ добавить служебную информацию!
Также можно перезагрузить данный ресурс и удалять его из шины.
Также можно загружать служебную информацию, такую как название ресурса, его расширение и т д.
Выгружать весь список ресурсов, и по отдельности выкачивать сам ресурс для анализа.
Также использовать различные сортировки для поиска определенного типа ресурс.
== Руководство по загрузке ресурсов в шину.
*LoadResource.*
Для загрузки ресурса в шину нужно использовать метод loadResource.
параметры:
- resourceValue - сам ресурс, в формате base64
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Body>
<reg:loadResourceRequest>
<reg:resourceValue></reg:resourceValue>
</reg:loadResourceRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/registry-schema-service/">1</response>
</soap:Body>
</soap:Envelope>
----
*GetResource.*
Для выгрузки заранее загруженного ресурса в шину нужно использовать метод getResource.
параметры:
- getResourceRequest - id ресурса, который вернулся при вызове метода LoadResource
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Header/>
<soapenv:Body>
<reg:getResourceRequest>1</reg:getResourceRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
параметры:
- id - это id ресурса
- createdDate - дата создания ресурса
- createdBy - логин, загрузивший ресурс в шину
- editedDate - дата перезагрузки ресурса
- editedBy - логин, перезагрузивший ресурс в шине
- resourceValue - сам ресурс, в формате base64
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<FullResourceType xmlns="http://www.entaxy.ru/registry-schema-service/">
<id>1</id>
<createdDate>12/15/20, 1:11 AM</createdDate>
<createdBy>12/15/20, 1:11 AM</createdBy>
<editedDate>12/15/20, 1:18 AM</editedDate>
<editedBy>12/15/20, 1:18 AM</editedBy>
<resourceValue></resourceValue>
</FullResourceType>
</soap:Body>
</soap:Envelope>
----
*ReloadResource.*
Для перезагрузки ресурса в шину есть метод reloadResource.
параметры:
- id - id ресурса, который вернулся при вызове метода LoadResource
- resourceValue - сам ресурс, в формате base64
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Body>
<reg:ResourceType>
<reg:id>1</reg:id>
<reg:resourceValue></reg:resourceValue>
</reg:ResourceType>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/registry-schema-service/">1</response>
</soap:Body>
</soap:Envelope>
----
*RemoveResource.*
Для удаления ресурса в шине есть метод removeResource.
параметры:
- id - id ресурса, который вернулся при вызове метода LoadResource
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Header/>
<soapenv:Body>
<reg:removeResourceRequest>1</reg:removeResourceRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/registry-schema-service/">1</response>
</soap:Body>
</soap:Envelope>
----
*LoadResourceInfo.*
Для загрузки мета информации ресурса в шине есть метод loadResourceInfo.
параметры:
- idResource - id ресурса, который вернулся при вызове метода LoadResource
- name - имя ресурса вместе с расширением
- version - версия ресурса
- description - описание ресурса
- convertor - является ли ресурс конвертором из одной схемы в другую
- namespace - входное пространство имен
- namespaceOut - выходное пространство имен, используется для трансформаций из одной схемы в другую
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Body>
<reg:loadResourceInfoRequest>
<reg:name>lama.xsd</reg:name>
<reg:idResource>1</reg:idResource>
<reg:version>1.0</reg:version>
<reg:description>lama test</reg:description>
<reg:convertor>false</reg:convertor>
<reg:namespace>http:lama.xsd</reg:namespace>
<reg:namespaceOut>l</reg:namespaceOut>
</reg:loadResourceInfoRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/registry-schema-service/">1</response>
</soap:Body>
</soap:Envelope>
----
*GetResourceInfo.*
Для получения мета информации ресурса в шине есть метод getResourceInfo.
параметры:
- getResourceInfoRequest - id мета информации ресурса, который вернулся при вызове метода LoadResourceInfo
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Header/>
<soapenv:Body>
<reg:getResourceInfoRequest>1</reg:getResourceInfoRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
параметры:
- id - id мета информации ресурса, который вернулся при вызове метода LoadResourceInfo
- idResource - id ресурса, который вернулся при вызове метода LoadResource
- name - имя ресурса вместе с расширением
- version - версия ресурса
- description - описание ресурса
- convertor - является ли ресурс конвертором из одной схемы в другую
- namespace - входное пространство имен
- namespaceOut - выходное пространство имен, используется для трансформаций из одной схемы в другую
- createdDate - дата создания мета информации ресурса
- createdBy - логин, загрузивший мета информацию ресурса в шину
- editedDate - дата перезагрузки мета информации ресурса
- editedBy - логин, перезагрузивший мета информацию ресурса в шине
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getResourceInfoResponse xmlns="http://www.entaxy.ru/registry-schema-service/">
<id>14</id>
<name>lama.xsd</name>
<idResource>14</idResource>
<version>1.0</version>
<description>lama test</description>
<convertor>false</convertor>
<namespace>http:lama.xsd</namespace>
<namespaceOut>false</namespaceOut>
<createdBy>?</createdBy>
<createdDate>12/15/20, 1:33 AM</createdDate>
<editedBy>?</editedBy>
<editedDate>12/15/20, 1:35 AM</editedDate>
</getResourceInfoResponse>
</soap:Body>
</soap:Envelope>
----
*EditResourceInfo.*
Для корректирования мета информации ресурса в шине есть метод еditResourceInfo.
параметры:
- id - id мета информации ресурса, который вернулся при вызове метода LoadResourceInfo
- idResource - id ресурса, который вернулся при вызове метода LoadResource
- name - имя ресурса вместе с расширением
- version - версия ресурса
- description - описание ресурса
- convertor - является ли ресурс конвертором из одной схемы в другую
- namespace - входное пространство имен
- namespaceOut - выходное пространство имен, используется для трансформаций из одной схемы в другую
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Body>
<reg:editResourceInfoRequest>
<reg:id>1</reg:id>
<reg:name>lama.xsd</reg:name>
<reg:idResource>1</reg:idResource>
<reg:version>1.0</reg:version>
<reg:description>lama test</reg:description>
<reg:convertor>false</reg:convertor>
<reg:namespace>http:lama.xsd</reg:namespace>
<reg:namespaceOut>l</reg:namespaceOut>
</reg:editResourceInfoRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/registry-schema-service/">14</response>
</soap:Body>
</soap:Envelope>
----
*RemoveResourceInfo.*
Для удаления мета информации ресурса в шине есть метод removeResourceInfo.
параметры:
- id - id мета информации ресурса, который вернулся при вызове метода LoadResourceInfo
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Header/>
<soapenv:Body>
<reg:removeResourceInfoRequest>1</reg:removeResourceInfoRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<response xmlns="http://www.entaxy.ru/registry-schema-service/">1</response>
</soap:Body>
</soap:Envelope>
----
*GetResourceInfoList.*
Для получения списка мета информации ресурсов в шине есть метод getResourceInfoList.
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Header/>
<soapenv:Body>
<reg:getResourceInfoListRequest/>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getResourceInfoListResponse xmlns="http://www.entaxy.ru/registry-schema-service/">
<ResourceInfoFullType>
<id>1</id>
<name>lama.xsd</name>
<idResource>1</idResource>
<version>1.0</version>
<description>lama test</description>
<convertor>false</convertor>
<namespace>http:lama.xsd</namespace>
<namespaceOut>l</namespaceOut>
<createdBy>?</createdBy>
<createdDate>12/14/20, 10:00 PM</createdDate>
</ResourceInfoFullType>
</getResourceInfoListResponse>
</soap:Body>
</soap:Envelope>
----
*GetResourceInfoListByName.*
Для получения списка мета информации ресурсов по имени ресурса в шине есть метод getResourceInfoListByName.
параметры:
- name - часть имени мета информации ресурса
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Header/>
<soapenv:Body>
<reg:getResourceInfoListByNameRequest>
<reg:name>.xsd</reg:name>
</reg:getResourceInfoListByNameRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getResourceInfoListResponse xmlns="http://www.entaxy.ru/registry-schema-service/">
<ResourceInfoFullType>
<id>1</id>
<name>lama.xsd</name>
<idResource>1</idResource>
<version>1.0</version>
<description>lama test</description>
<convertor>false</convertor>
<namespace>http:lama.xsd</namespace>
<namespaceOut>l</namespaceOut>
<createdBy>?</createdBy>
<createdDate>12/14/20, 10:00 PM</createdDate>
</ResourceInfoFullType>
</getResourceInfoListResponse>
</soap:Body>
</soap:Envelope>
----
*GetResourceInfoListByNamespace.*
Для получения списка мета информации ресурсов по namespace ресурса в шине есть метод getResourceInfoListByNamespace.
параметры:
- namespace - часть namespace мета информации ресурса
[source,xml]
----
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:reg="http://www.entaxy.ru/registry-schema-service/">
<soapenv:Header/>
<soapenv:Body>
<reg:getResourceInfoListByNamespaceRequest>
<reg:namespace>lama</reg:namespace>
</reg:getResourceInfoListByNamespaceRequest>
</soapenv:Body>
</soapenv:Envelope>
----
ответ
[source,xml]
----
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<getResourceInfoListResponse xmlns="http://www.entaxy.ru/registry-schema-service/">
<ResourceInfoFullType>
<id>1</id>
<name>lama.xsd</name>
<idResource>1</idResource>
<version>1.0</version>
<description>lama test</description>
<convertor>false</convertor>
<namespace>http:lama.xsd</namespace>
<namespaceOut>l</namespaceOut>
<createdBy>?</createdBy>
<createdDate>12/14/20, 10:00 PM</createdDate>
</ResourceInfoFullType>
</getResourceInfoListResponse>
</soap:Body>
</soap:Envelope>
----