Текущее время: Пт, авг 07 2026, 08:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Пн, янв 30 2012, 18:21 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 20 2011, 15:19
Сообщения: 11
Добрый день, эксперты!
В XI настроен меппинг из mail_sender в hr по следующему сценарию:
Изображение
Аттачменты и их content-type забираются через класс InputAttachments.
Но если мепинг настроен таким образом, передается только одно вложение.
Как бы размножить исходящее сообщение по количеству вложений, чтобы в каждом было одно из вложений?
Вопрос может и тупой, но уже целый день ищу решение :(


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Ср, фев 01 2012, 18:20 
Директор
Директор

Зарегистрирован:
Вт, июл 18 2006, 17:44
Сообщения: 1001
Откуда: что и все
Пол: Мужской
можно самому весь текст письма сформировать, а через MIME-разделители наставить столько вложений, сколько требуется. Я так поступал, хоть и муторнее но всем процессом сам управляешь.
Наверное ещё можно создать SOAP аттачменты и они наверное в Mail аттачменты перейдут, но в 7.1 там в джава-API ошибка из-за которой это не работает.

_________________
Telegram-chat: PO, CPI-PI, java, groovy


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Вт, фев 07 2012, 11:42 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 06 2011, 10:11
Сообщения: 78
Проблема решена?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Вт, фев 07 2012, 12:38 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 20 2011, 15:19
Сообщения: 11
Jey1977 написал(а):
Проблема решена?

Нет. Через мультимепинг сделал.
Создает количество сообщений равное количеству вложений.
Почти работает, единственное что тянет за собой все входящие вложения, размножая их по количеству исходящих сообщений, и возникает ошибка Use case DUPLICATE_CONTENT_IDS not recognized. Видимо из-за того что дублирует вложения. Сейчас ищу способ удалить все исходящие вложения. removeAttachment(String contentID) не работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Вт, фев 07 2012, 20:39 
Директор
Директор

Зарегистрирован:
Вт, июл 18 2006, 17:44
Сообщения: 1001
Откуда: что и все
Пол: Мужской
а, я оказывается неверно понял вопрос, извиняюсь -- не про то написал

_________________
Telegram-chat: PO, CPI-PI, java, groovy


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Ср, фев 08 2012, 10:33 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 20 2011, 15:19
Сообщения: 11
Ну вот вроде бы почти работает.
Мультимеппинг сделал, но т.к. в operation_mapping стоит флаг keep attachments, то аттачменты исходного сообщения размножаются по количеству исходящих сообщений, т.е. если больше одного исходящего сообщения, ошибка:
Use case DUPLICATE_CONTENT_IDS not recognized.
Изображение
Можно ли удалить эти аттачменты как-то? RemoveAttachment в UDF не удаляет.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Ср, фев 08 2012, 13:57 
Директор
Директор

Зарегистрирован:
Вт, июл 18 2006, 17:44
Сообщения: 1001
Откуда: что и все
Пол: Мужской
а что, Mail Receiver адаптер нормально после мульти-меппинга понимает и отправляет письма?

_________________
Telegram-chat: PO, CPI-PI, java, groovy


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Ср, фев 08 2012, 15:01 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 20 2011, 15:19
Сообщения: 11
chumpa написал:
а что, Mail Receiver адаптер нормально после мульти-меппинга понимает и отправляет письма?

Не, на вход mail_sender, на выходе RFC, ему аттачменты вообще не нужны, собственно call adapter без них происходит.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Пт, фев 10 2012, 15:01 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, дек 06 2011, 10:11
Сообщения: 78
Правильно ли я понял постановку задачи - Приходит письмо, у которого например приатаччено 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.

Примерно так. Если сходу.Тапками не кидаться :)
Наверное есть более оптимальное решение, это первое что пришло в голову. Думаю не слишком сумбурно написал.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Ср, фев 22 2012, 19:37 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, сен 25 2007, 13:27
Сообщения: 45
Откуда: Москва, АНТ-Информ (Газпром)
Пол: Мужской
Помнится еще под 7.0 была задачка:
1) пользователи шлют на технический емейл различные отчеты в DBF файлах (в одном письме их сколько угодно)
2) производится первичная проверка на XI присланных файлов
в случае, если отчеты косячные, например не хватает колонки в DBF или в очередной раз XI поздравляют картинкой "С Новым Годом!", то пользователю назад идет соответствующий грозный ответ
3) если все ОК, то записываем данные из приложенных файлов в СУБД

Фишка в том, что в 7.0 нельзя из маппинга получить аттачмент. Для этого я сделал адаптер модуль, который просто все аттачменты кодировал в Base64 и записывал их и с сопутствующей инфой (имя, контент-тайп...) в конец XML-ки (добавил пару своих полей в стандартное сообщение).
В адапетр модуле можно удалить все аттачменты, тем более их контент уже есть в исходном сообщении. Через Java меппинг уже можем с ними спокойно работать.

Хотя конечно лучше без всяких модулей все в меппинге как-нибудь разрулить...

_________________
Ерин Саня: А я напишу свой SAP ...с блэкджеком и шлюх*ми


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Размножить сообщения по количеству почтовых вложений
СообщениеДобавлено: Ср, июн 13 2012, 14:53 
Начинающий
Начинающий

Зарегистрирован:
Ср, июн 13 2012, 14:49
Сообщения: 1
Добрый день
не проще сделать элемент iv_msg_att unbound , а с помощью класса InputAttachments доставать все вложения


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB