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
тут