У меня есть сценарий, когда клиент удаляет XML и файл .FINISHED.Клиент создает файл .FINISHED после завершения записи XML-файла.Оба файла имеют одинаковые имена.Как видите, я не могу начать читать .XML до того, как будет создан .FINISHED.После того, как XML скопирован в целевой файл, мне нравится удалять оба файла из клиентского местоположения.
Это выглядит очень типичной проблемой, но я думаю, что SFTP и SSO сделали ее нетипичной.
Я занимаюсь разработкойBizTalk 2009 с использованием / n программного адаптера SFTP для BizTalk с SSO для аутентификации.
Примечания:
Я должен использовать SFTP, так как не могу использовать протокол FTP.
Есть некоторые решения, которые я пробовал и использовал Googled, но все они основаны на FTP и / или используют корреляцию.
Я должен использовать единый вход для управления учетными данными.
Программный SFTP-адаптер предоставляет функцию использования единого входа и работает нормально при нормальном сценарии.где я должен читать / писать без ожидания .FINISHED файла.
Я использовал следующие подходы:
Корреляция - Параллельный / Последовательный
Потратив некоторое время, я понял, что не могу использовать корреляцию, так как мне приходится ждать файла .FINISHED, прежде чем начать читать .XML.Клиент начинает сначала писать XML, а затем ЗАВЕРШАЕТСЯ
Когда я отбрасываю местоположение приема .XML, выбирает файл, не ожидая .FINISHED и Orchestration через исключение в зависимости от ситуации.
Для этого решения я получил помощь из следующего блога
http://www.paulvanbrenk.com/blog/CategoryView,category,BizTalk.aspx
Пожалуйста, исправьте меня, если я неправильно понимаю.
Использование .NetКомпонент для получения XML-файла из местоположения SFTP один раз. Получено НЕОБХОДИМО:
Другое возможное решение состоит в том, чтобы изменить программное обеспечение или другое место получения UTP-адаптера или URI в Orchestration во время выполнения, то есть изначально установить его на .FINISHED после получения, изменить его на .XML и получить его.
Не знаю, как этого добиться, но возможно ли это в оркестровке ??