BizTalk создает исключение NullReferenceException между принимающим адаптером и конвейером.

Я разработал конвейер BizTalk, и он отлично работает на виртуальной машине разработки, но не в рабочей среде. В обеих средах запущен BizTalk Server 2009.

Все компоненты в моем конвейере отлично работают на других конвейерах. Исключение, которое я получаю, в журнале событий приложений Windows (все между < а также > не имеет значения)

Сообщение, полученное адаптером "ФАЙЛ" в месте получения <Местоположение получения> с URI , приостанавливается. Сведения об ошибке: произошла ошибка при выполнении конвейера приема: Источник: "Неизвестный" Порт приема: : Причина: ссылка на объект не установлена ​​для экземпляра объекта.
Идентификатор сообщения:
InstanceID: <идентификатор экземпляра>

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

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

Так что на самом деле это исключение происходит между адаптером и конвейером. Изначально используемый адаптер был WCF-Custom с sqlBinding, но используя File Адаптер приводит к тому же исключению.

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

Куда мне идти отсюда? Что может быть не так? Есть ли способ получить какую-то трассировку стека для этого исключения, чтобы помочь отследить его?

1 ответ

Решение

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

Как оказалось, моя локальная ВМ разработки (и Visual Studio) вытащила один из компонентов из GAC, а не из стандарта C:\Program Files (x86)\Microsoft BizTalk Server 2009\Pipeline Components папка. Эта сборка не соответствует компоненту в производственной среде.

Другие вопросы по тегам