[BACK-GOV-03] Реализация сетевого SOAP-сервера и XML-моделей запроса/ответа
Бэкенд: Архитектура
NoteКраткая карточка задачи
- Репозиторий / Компонент:
gov_identity_soap_mock. - Язык: Go (1.27+).
- Тип задачи: Backend (Стековые компоненты).
- Статус: Готово к реализации
Описание задачи
Необходимо поднять HTTP-сервер на порту :8000 и разработать строго типизированные структуры (типы данных) для разбора входящих и формирования исходящих enterprise-сообщений в формате SOAP/XML.
Инструкция по шагам
- Моделирование входящего SOAP-конверта: На основе стандартного пространства имен
http://xmlsoap.orgописать структуруSoapEnvelopeRequestи вложенный Body-объект для методаfetch_secure_employee_data, принимающийemailиmaster_token. - Моделирование исходящего ответа: Спроектировать XML-структуру
SoapEnvelopeResponse, поддерживающую атрибуты пространств именsoapenvиgov. Поля профиля сотрудника (inn,passport,snils,gov_status) должны содержать тегomitempty, чтобы не сериализоваться в XML в случае ошибок. - Инициализация HTTP-сервера: В функции
main()настроить стандартный роутерhttp.HandleFuncна корневой путь/и запустить прослушивание порта черезhttp.ListenAndServe(":8000", nil). - Функция отправки ответа: Реализовать хелпер
sendSoapResponse, выполняющий маршалинг структуры ответа с отступами (xml.MarshalIndent), установкой заголовкаContent-Type: text/xml; charset=utf-8и явной записью XML-заголовкаxml.Headerв тело HTTP-ответа.