Могу ли я использовать один конвейер как для места получения файла, так и для места получения электронной почты? - PullRequest
0 голосов
/ 02 мая 2018

У меня есть конвейер, который работает для места получения файла. Этот конвейер принимает файл CSV и отображает его в XML.

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

Разве biztalk не должен игнорировать все, кроме вложения, если я устанавливаю индекс части тела равным 2? И тогда он должен поместить вложение в конвейер, как и в случае с местоположением файла, тогда конвейер выведет файл XML.

Ошибка:

Microsoft.XLANGs.Core.PersistenceException: возникла исключительная ситуация при сохранении состояния в базе данных. ---> Microsoft.BizTalk.XLANGs.BTXEngine.PersistenceItemException: пакетному элементу не удалось сохранить постоянство. Идентификатор элемента 72fbeba9-6bfe-48e0-a0e6-ca5bbd191aa1 OperationType MAIO_CommitBatch Status -1061151998 ErrorInfo Подписчики с ошибкой не удалось найти, так как опубликованные сообщения не были отправлены. , ---> Microsoft.BizTalk.XLANGs.BTXEngine.PublishMessageException: не удалось опубликовать (отправить) сообщение в пакете. Обычно это происходит потому, что никто не ожидает получить это сообщение. Ошибка: опубликованное сообщение не может быть перенаправлено, так как подписчики не найдены. со статусом -1061151998

Свойства Pop3:

Pop3 Properties

PipelineConfigurations:

Pipeline Config1 Pipeline Config2 Я попытался остановить оркестровку и порт отправки и проверить оба местоположения.

Проверка местоположения электронной почты Я получил ту же ошибку с письмом с вложением .csv.

При проверке местоположения файла данные не доходили до базы данных, но CSV был обработан, потому что я мог видеть это в информационных журналах.

Это приводит меня к выводу, что проблема связана с декодированием MIME и с тем, что мой конвейер выводит из частей тела письма.

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

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

См. Приостановленное сообщение и проверьте, какая часть тела является файлом CSV. Ваш конфиг говорит, что это должно быть 3-е сообщение BodyPart = 2.

0 голосов
/ 03 мая 2018

Как упомянуто @Dijkgraaf:

Это не сбой в конвейере. Сбой из-за отсутствия Orchestration или Send Port, ожидающих сообщения, которое порт приема опубликовал в окне сообщения.

Это означает, что получение сработало, что сообщение прошло конвейер и опубликовано в окне сообщений, но нет соответствующей подписки.

Проверьте наличие ошибок маршрутизации в консоли управления BizTalk, чтобы выяснить причину. Возможно, тип сообщения не такой, как вы ожидали, или что еще одно опубликованное свойство установлено неправильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...