Подождите, пока файл ACK - PullRequest
       39

Подождите, пока файл ACK

0 голосов
/ 07 января 2020

У меня есть запрос на выполнение заказа только при наличии определенного файла, например:

  1. Мой клиент загрузит несколько XML файлов.
  2. В конце концов Файлы XML были загружены, и они будут создавать специальный файл с именем "OK.CTRL", чтобы указать, что копирование файла XML завершено.
  3. Для этого мой orchid должен прослушивать порт приема " OK.CTRL "создание файла. Когда существует, он должен начать обработку всех файлов XML.

Я пытался сделать это несколькими способами:

  1. С 2-мя портами приема, сначала как активированный, а второй нет, но потом я получил сообщение об ошибке: «Вы должны указать хотя бы один уже инициализированный набор корреляции для неактивируемого приема, который находится на несамокоррелирующем порту».
  2. То же как 1, но с обоими активированными, а затем появляется другая ошибка: «активируемый прием должен быть первым исполняемым оператором в службе».
  3. Использование коррелирующего набора, но затем ошибка »в последовательном конвое порты должны быть идентичны ", но мне нужны 2 разных порта, поскольку маска файла различна.

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

Есть идеи, как заставить его работать?

Ответы [ 2 ]

3 голосов
/ 08 января 2020

Почему бы просто не иметь только один порт приема в оркестрации (активировать прием), который прослушивает сообщение OK.CTRL (маска файла в месте получения).

Затем внутри оркестровки используйте C# для доступа файловую систему и загрузите нужные вам файлы.

Однако я, вероятно, решил бы это, используя SQL серверные таблицы и хранимые процедуры. Затем просто сохраните каждое сообщение в таблице и получите хранимую процедуру, которую вы можете опросить из BizTalk, которая возвращает true, когда OK.CTRL получен в таблицу. Затем BizTalk может извлечь все сообщения и переслать их. Преимущество этого подхода в том, что вам вообще не нужна оркестровка.

0 голосов
/ 13 января 2020

Вы все еще можете go с последовательным конвоем, использующим тот же порт, но в разных местах приема. Затем определитесь с действием внутри оркестровки на основе типа сообщения.

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

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