Ваш пример сообщения неверен.Тип сообщения в блоке 2 относится к MT011, который является системным сообщением, а не ожидаемым MT760.
Блок 2 для входящего MT760 должен выглядеть следующим образом:
{2: O 760 1155081106BBBBUS00DGST08298565620811060655N}
Вы можете поместить фиктивные данные в дату, время и код BIC, но вы должны сохранить тип сообщения.
Структура заголовка приложения (блок2) во входящем сообщении выглядит следующим образом:
- O = Выход
- Тип сообщения
- Время ввода по отношению к отправителю
- Ссылка на ввод сообщения (MIR), включая дату ввода, с адресом отправителя.
- Дата и время вывода по отношению к получателю
- Приоритет сообщения
Вы можете найтибольше информации на https://www.prowidesoftware.com/resources/SWIFT И, кстати, я один из авторов библиотеки с открытым исходным кодом Prowide Core, которая включает в себя конвертацию MT в XML.Это не тот же XML, что используется SWIFT SDK, но проприетарный от Prowide.Основное отличие состоит в том, что для преобразования XML SWIFT SDK требуется, чтобы входное сообщение было действительным, по крайней мере, с точки зрения структуры, в то время как Prowide Core XML может преобразовывать туда и обратно любой MT, действительный или недействительный.
PD: FullMT760 sample
{1:F01NWBKGB2LD36A6294534377}{2:O7601155081106BBBBUS00DGST08298565620811060655N}{4: [CRLF]
:27:1/1 [CRLF]
:20:123456123456ABCD [CRLF]
:23:ISSUE [CRLF]
:30:180813 [CRLF]
:40C:URDG [CRLF]
:77C:SOME MESSAGE [CRLF]
SECOND LINE [CRLF]
-}
Где [CRLF] - возврат каретки и перевод строки