Уведомление по электронной почте о получении пустого файла

В настоящее время у нас есть конвейер в порту приема для расшифровки файла и отправки файла в порт отправки. Мы ничего не обрабатываем в файле. Возникла не новая проблема, иногда файл, который приходит к нам, оказывается пустым и болтает, когда он пытается его расшифровать и отправить по назначению. Есть ли способ отправить уведомление по электронной почте, если файл пуст. Могу ли я сделать это в консоли администратора, не разрабатывая какой-либо пользовательский компонент конвейера.

Файл действительно пуст? Как в 0 байтах? Собственный файловый адаптер не обрабатывает 0-байтовые файлы, поэтому его даже можно отправить на расшифровку.

Johns-305 08.09.2018 15:47

@ Johns-305 Да, вы правы, при попытке дешифрования выдает ошибку. Как я могу справиться с этой проблемой

trx 09.09.2018 05:36

Что именно вы имеете в виду под словом «расшифровать»? Какой компонент конвейера задействован. Это пользовательский компонент?

Johns-305 09.09.2018 17:21

@Johns Decode-Component-PGP компонент конвейера [BAJ]

trx 10.09.2018 13:19
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
4
166
3

Ответы 3

Если вы хотите перехватывать и отправлять ошибки в портах приема, вам необходимо создать и настроить порт отправки SMTP и установить фильтр на ErrorReport.FailureCode существует, а также добавить ErrorReport.ReceivePortName с именем вашего ReceivePort. С этим фильтром порт отправки будет распознавать и получать ошибки в порте приема.

Но если вы используете собственный файловый адаптер, когда пустой файл поступает в место приема, адаптер отбрасывает этот файл, и ошибка не генерируется.

вы можете настроить код и отправить электронное письмо через помощника в случае пустого файла. загляните в этот блог: http://ninocrudele.com/biztalk-and-zero-byte-file

Поскольку вы используете компонент PGP, я предполагаю, что это пользовательский компонент, основанный на одном из примеров.

В этом случае правильный способ справиться с этим случаем - изменить компонент, чтобы проверить длину входящего потока перед попыткой дешифрования.

Если пар пуст, 0 байт, просто пропустите собственно декодирование. Затем вы можете установить свойство контекста, указывающее на пустое сообщение, которое вы можете использовать для генерации любого предупреждения позже.

Теперь убедитесь, что вам действительно нужно отправить электронное письмо на 200%. Если пустые файлы являются нормальным состоянием (вы можете проверить это у отправителя), то создание электронного письма создает лишнее предупреждение, которое все просто проигнорируют.

Другие вопросы по теме