Warning
Это чудо писалось на Python 3.10. Заведется ли на чем-то моложе? - не знаю.
- Клиент и сервер пользуются общим окружением
- В файлах
.env,.\server\core\config.pyи.\client\config.pyуказаны переменные, с которыми можно (и нужно) играться - Файл
.\scripts\sql\tables.sqlговорит сам за себя - Открытый и закрытый ключи получаем при помощи
openssl:- Закрытый ключ:
openssl genrsa -out .\certs\jwt_private.pem 2048
- Открытый ключ:
openssl rsa -in .\certs\jwt_private.pem -outform PEM -pubout -out .\certs\jwt_public.pem
- Закрытый ключ:
- Создаем виртуальное окружение
python -m venv venv - Активируем его
.\venv\Scripts\activate
Important
Далее магия 🪄: единственная живая библиотека для поднятия SOAP-сервиса на Python - это Spyne.
Но! Оно очень плохо умеет в MTOM. Поэтому пришлось поковырять исходники, и заставить его работать.
- Создаем директорию для моего форка
Spyne:cd .\venv\Lib\site-packages\ && mkdir spyne - Находясь в новоиспеченной директории:
git clone https://github.com/shasoka/spyne -b fixing-mtom-xop . - Билдим библиотеку:
python setup.py install - Поздравляю 🤝 Устанавливаем остальные зависимости:
pip install -r .\requirements.txt - Ну, все, победа!
- Запуск сервера:
python .\server\main.py - Запуск клиента:
python .\client\main.py
- Запуск сервера:
Формула для вычисления процента времени работы сервера:
Кому интересно pull request в Spyne тут
