eirc-w-extjs-api-generator v1.3.1
Генератор кода для проектов ЕИРЦ
Данная утилита предназначена для генерации ExtJS пакета с классами для организации доступа к API сервера на основе описания в формате WSDL.
Инсталяция
Если ваш WSDL хранится в репозитории типа Mercurial, то
установите на свой компьютер командную строку Mercurial.
Для работы данного пакета требуется чтобы была глобально
доступна команда hg
.
Далее, перейдите в директорию вашего рабочего пространства ExtJS (все команды следует выполнять только в нем):
cd <Рабочее пространство вашего проекта>
Добавьте зависимость в ваш проект:
npm install eirc-w-extjs-api-generator --save-dev
В файле package.json
вашего проекта добавьте следующие скрипты:
{
"scripts": {
"api:generate": "api generate",
"api": "api"
}
}
Инициализируйте генератор:
npm run api -- init
После инициализации в корне вашего рабочего пространства ExtJS будет создан файл api.json
.
По умолчанию, этот файл будет настроен следующим образом:
{
"name": "eirc-api",
"namespace": "Eirc.server.api",
"wsdl": {
"repository": {
"type": "mercurial",
"url": "http://sopr:SOPR@hg.eirc.mos.ru/base_model"
},
"path": "wsdl",
"ignore": [
"cbsc", "Adapters", "SocialSupport", "Proxies",
"OracleBpmProcessService", "ExternalCallback", "Debtor"
]
}
}
Если файл не был создан, то его придется создать вручную.
Внимание, поле
name
содержит имя пакета, который будет генерироваться. Если у вас уже есть такой пакет, то он будет удален! Поэтому обязательно проверьте полеname
.
Пробная генерация АПИ пакета:
Если все соответствует действительности, то после этого можно сразу начать генерацию пакета с АПИ сервера:
npm run api:generate
Пакет будет сгенерирован в директорию:
./packages/local/<Название пакета>
Теперь, когда вам понадобится обновить пакет с АПИ, то достаточно будет
запустить команду npm run api:generate
.
Хранение сгенерированного пакета
По идее, все что генерируется не следует хранить в репозитории. Но в этом случае у вас должна быть гарантия, что сможете этот пакет заново восстановить. На данный момент это можно сделать либо по номеру ревизии из репозитория, где хранится WSDL либо хранить сгенерированный пакет в репозитории вашего пакета. Пока рекомендуется выполнять второй вариант.
Конфигурационный файл ./api.json
Файл содержит имя генерируемого пакета, его пространство имен и информацию откуда брать данные для генерации. Для генерации пакета достаточно указать директорию или репозиторий, где находятся WSDL и XSD файлы.
Пример файла, где в качестве источника данных указана локальная директория:
{
"name": "eirc-api",
"namespace": "Eirc.api",
"wsdl": {
"path": "wsdl",
"ignore": ["cbsc"]
}
}
Для загрузки WSDL из репозитория в конфигурационный файл в поле wsdl
следует добавить тип и URL репозитория:
{
"wsdl": {
"repository": {
"type": "mercurial",
"url": "http://sopr:SOPR@hg.eirc.mos.ru/base_model"
},
"path": "wsdl",
"ignore": ["cbsc"]
}
}
В данном случае поле path
используется для указания директории относительно корня репозитория.
Опция ignore
используется для игнорирования директорий и файлов. Это массив строк,
в которых можно указывать регулярные выражения. Директории, которые совпадут с этими выражениями
будут исключены из обработки.
Команды
Для просмотра информации из WSDL:
npm run api -- list
Для просмотра списка методов сервиса:
npm run api -- list <имя службы>