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