Использование оркестровки BizTalk для вызова библиотеки классов .NET для чтения XML, когда в каталоге появляется новый XML-файл - PullRequest
0 голосов
/ 08 марта 2011

Я настроил приемное сообщение и порт приема для отслеживания файлов XML.Я также добавил форму выражения для выполнения библиотеки классов .NET, используя

System.Diagnostics.Process.Start
        (@"C:\TEMP\XmlReader\XmlReader\bin\Release\XmlReader.exe");

Когда я развертываю BizTalk, как только новый файл получен в месте получения, файл исчезает и ничего не происходит.У меня есть другой проект оркестровки с портом получения и отправки, где файл исчезает и не перемещается в местоположение отправки

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Я не уверен, что следую вашей логике. Однако при условии, что вы правильно настроили подписку между оркестровкой и сообщением, опубликованным принимающим портом. К тому времени, когда оркестровка активирована, исходный XML файловой системы исчезнет навсегда. Фактически он исчезает, как только полученное местоположение включено и использует его. Поэтому, если вы пытаетесь вручную прочитать исходный файл XML из файловой системы из оркестровки, вы не добьетесь успеха.

BizTalk имеет некоторые подводные камни, в случае сомнений придерживайтесь поэтапного подхода;

  1. Создание / включение принимающего порта и местоположения прямо из консоли администрирования (пока забудем VisualStudio).
  2. Передать XML (или что-то еще)
  3. Используйте консоль управления, чтобы увидеть, были ли созданы какие-либо сообщения и каков их статус.
  4. Создать оркестровку, включающую

    System.Diagnostics.Debug.WriteLine ()

    операторов, подпишите его на порт приема.

  5. Вставьте сообщение и используйте DebugView , чтобы увидеть выходные данные вызовов метода WriteLine.
0 голосов
/ 10 марта 2011

Если я вас не правильно понимаю, вы используете пользовательский файл xmlreader.exe для чтения документов XML и отправки их в оркестровку BizTalk. Это именно то, что BizTalk Receive Port + Receive Location (+ XmlPipeline) сделает для вас.

Мне кажется, что ваша проблема выглядит так, как будто ваш xmlreader.exe и ваш порт получения BizTalk + Местоположение получения работают друг против друга.

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

Проверьте вашу консоль администрирования BizTalk. Готов поспорить, что все принятые вами сообщения будут приостановлены, поскольку ваша оркестровка их не получила.

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