Правильно ли я понял постановку задачи - Приходит письмо, у которого например приатаччено N архивов. Вам нужно создать и отправить N писем с одним уникальным архивом из исходного письма во вложении? ( ну на выходе не обязательно письмо, и на входе тоже, имеется ввиду сообщение с аттачем)
Тогда сходу получается так (не знаю, может глупо конечно, но первое что пришло в голову)
Системы:
ИСХОДНАЯ выходной интерфейс и_вых_ИсходноеСообщение
КОНЕЧНАЯ входной интерфейс и_вх_КонечноеСообщение
Создаем новый бизнес-сервис БРОКЕР с интерфейсами
и_вх_Вход, и_вых_Выход.
Создаем 2 канала СОАП, входящий и исходящий, один шлет данные в другой (пересылает сам себе, типа как в теме "... -> HTTP receiver -> HTTP sender -> ...")
Делаем меппинги
1) и_вых_ИсходноеСообщение -> и_вх_Вход : На яве например. Тупо копируем целиком сообщениие одно в другое (не парся),
и в случае наличия в исходном сообщении хотя бы одного аттача где нибудь в динамической конфигурации ( например
в SourceFileSize
http://sap.com/xi/XI/System/File, далее "ключик") ставим 1, если нет - стираем ключик.
2) и_вых_Выход -> и_вх_КонечноеСообщение : Программа 1 - На Яве например. Тупо копируем сообщение целиком.
Из аттачей копируем только первый. Программа 2 - Ваше преобразование.
3) и_вых_Выход -> и_вх_Вход: На Яве например: Тупо копируем сообщение без парсинга. Если есть аттачи, копируем все кроме первого.
Если аттач всего один, не копируем ничего и стираем ключик.
В конфигурации:
Из ИСХОДНАЯ и_вых_ИсходноеСообщение шлем все подряд в БРОКЕР и_вх_Вход через меппинг 1) в соап канал интерфейс указываем.
БРОКЕР в пересылает сообщение либо сам себе и в КОНЕЧНАЯ через меппинг 2 (если ключик "1") или его просто грохает (не находит получателя без ошибки например, если ключика нет)
сам себе он пересылает на единственный входящий интерфейс и_вх_Вход через меппинг 3.
Примерно так. Если сходу.Тапками не кидаться
Наверное есть более оптимальное решение, это первое что пришло в голову. Думаю не слишком сумбурно написал.