Использование неструктурированного сообщения - PullRequest
0 голосов
/ 23 сентября 2010

Я использую BizTalk 2004

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

вот дизайн: Сообщение из моего файла журнала может содержать несколько экземпляров записи, например: (я добавил «-» в узлы, чтобы вы могли увидеть образец)

<- журнал> <-Record> <-node1 /> <-node2 /> <- / запись> <-Record> <-node1 /> <-node2 /> <- / запись> <- / Журнал>

У меня есть общая область действия в долгосрочной транзакции с блоком исключений, который перехватывает System.Exception Внутри области видимости находится общая обработка моего сообщения запроса, содержащего несколько записей Файл журнала изначально создается только с заголовком (log), затем файл журнала обновляется в цикле для записей, в котором он получает записи из запроса, который обрабатывается индивидуально, в один xml. Он будет циклически проходить по каждому отдельному xml, а затем добавляет запись в файл журнала.

этот созданный файл журнала успешно отправляется после обработки цикла. Теперь я хочу отправить файл журнала, созданный при достижении исключения. Как я уже сказал, файл журнала обновляется и создается в цикле. но когда я попытался отправить файл журнала в блоке исключений, я нажал кнопку «Использование неструктурированного сообщения», поэтому я попытался сохранить файл журнала в xmldocument, а затем создать сообщение внутри блока исключений с помощью xmldocument, но затем вещь "Использование неструктурированного сообщения" для самого xmlDocument

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

Заранее спасибо!

1 Ответ

5 голосов
/ 04 октября 2010

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

Чтобы решить эту проблему, вы должны сначала создать сообщение перед областью, обработчик исключений которой использует сообщение. затем вы можете пойти и воссоздать фигуру внутри области, но это гарантировало бы, что при попадании в обработчик исключений сообщение будет существовать, так или иначе.

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