Справочник: выгрузка XML в подлинном формате НРД; фикс ошибочного FIFO-сопоставления ответа
1) XML-выгрузка справочника (/admin/handbook → XML) теперь в формате НРД (hk:M2MTransferHandbook: SettlementPlaces/Participants, Rus/Eng, Depository/BrokerPlace). Поллер сохраняет подлинный XML от НРД (writeHandbookRawXML → m2m-handbook.xml) и выгрузка отдаёт его как есть (windows-1251, байт в байт). Для установок без своего шлюза — реконструкция того же формата из плоского JSON (reconstructHandbookXML), проверено парсером НРД. 2) findDealForResponse: ответ сервиса МОСТ с конкретным GUID, которого нет среди ИСХОДЯЩИХ сделок (например M2M31 на наше решение по ВХОДЯЩЕМУ переводу), больше НЕ пришивается по эвристике FIFO к чужой исходящей заявке и не отклоняет её ошибочно. FIFO остаётся только для ответа с нулевым/пустым GUID (поведение НРД при M2M14). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -250,6 +250,7 @@ func (s *Server) applyIncoming(ctx context.Context, p igw.Package) error {
|
||||
return nil
|
||||
}
|
||||
nsdProbeReply(time.Now())
|
||||
writeHandbookRawXML(unpacked.DocXML) // подлинный XML НРД — для выгрузки со страницы справочника
|
||||
if !saveHandbook(&hb) {
|
||||
log.Printf("lk-gateway: поллер справочник M2M id=%d: без изменений (%d участников) — связь с НРД подтверждена", p.ID, len(hb.Participants.Participants))
|
||||
return nil
|
||||
|
||||
Reference in New Issue
Block a user