18 KiB
Sсhema
Есть три типа ресурсов, которые можно загружать в шину и использовать в маршрутах:
-
Валидационные типы ресурсов (нпрм xsd). Необходимы для валидации сообщения на соответствие той или иной схеме.
-
Трансформационные типы ресурсов (нпрм xslt, amd). Необходимы для трасформации сообщений из одной схемы в другую.
-
Ресурсы используемые для генерации сервисов (нпрм wsdl). Необходимы для поднятия сервиса на шине.
Для загрузки трансформационных ресурсов необходимо указывать, является ли данный трансформатор конвертором и схему-источник и схему-результат для неявного преобразования сообщения(конвертор может быть один и только один для пары: схема источник, схема результат) Схему-источник и схему-результат необходимо указывать только для конверторов, используемых в неявных преобразованиях
Желательно указывать или определять схему для коннектора, если предполагается использовать функционал неявных преобразований. Неявное преобразование будет работать, если:
-
в заголовке указана схема-источник
-
в заголовке указана схема-приемник
-
в реестре есть конвертор для этой пары схем
Указание схемы может попадать в заголовок неявно (из свойств коннектора или из тела сообщения) или явно через медиатор.
Схема работы с ресурсами.
Сначала загружаем сам ресурс в шину, который мы будем использовать в маршрутах.
Загружаем ресурс и получаем id, с помощью которого можно и нужно добавить служебную информацию! Также можно перезагрузить данный ресурс и удалять его из шины.
Также можно загружать служебную информацию, такую как название ресурса, его расширение и т д. Выгружать весь список ресурсов, и по отдельности выкачивать сам ресурс для анализа. Также использовать различные сортировки для поиска определенного типа ресурс.
Руководство по загрузке ресурсов в шину.
LoadResource.
Для загрузки ресурса в шину нужно использовать метод loadResource.
параметры:
-
resourceValue - сам ресурс, в формате base64
<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>
ответ
<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
<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
<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
<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>
ответ
<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
<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>
ответ
<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 - выходное пространство имен, используется для трансформаций из одной схемы в другую
<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>
ответ
<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
<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 - логин, перезагрузивший мета информацию ресурса в шине
<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 - выходное пространство имен, используется для трансформаций из одной схемы в другую
<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>
ответ
<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
<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>
ответ
<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.
<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>
ответ
<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 - часть имени мета информации ресурса
<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>
ответ
<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 мета информации ресурса
<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>
ответ
<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>