Перехват недопустимого сообщения об ошибке xml

#xml #biztalk

#xml #biztalk

Вопрос:

Я хочу знать, существует ли способ обнаружения xml, который недопустим в оркестровке Biztalk.

Моя оркестровка вводит xml, преобразует его в другой формат, сохраняет в базе данных и отправляет подтверждение отправителю…

Пожалуйста, помогите!

Ответ №1:

Все (Xml) сообщения, поступающие в вашу систему BizTalk, должны проверяться в месте получения, что приводит к ответу NACK отправителю, если проверка завершается неудачей.

Чтобы проверить структуру, вам необходимо определить схему для вашего входящего Xml-сообщения и добавить ее в DocumentSpecNames свойство конфигурации конвейера приема Xml в вашем местоположении приема.

Однако, если вам нужно проверить содержимое ваших входящих сообщений, вы должны использовать бизнес-правила (BRE) сразу после того, как сообщение войдет в вашу оркестровку.

Ответ №2:

Я не эксперт в Biztalk, но вы хотите взглянуть на XSD. Это средство, с помощью которого вы можете наложить ограничения на построение XML-документов. Если у вас есть доступ к некоторым biztalk XLD, вы можете преобразовать их в XSD. Я не знаю, доступны ли Biztalk XSD или XLD. Если нет, вы могли бы создать их самостоятельно…

Ответ №3:

У вас есть какие-либо дополнительные сведения о вашей конкретной проблеме? Являются ли сообщения, которые вы ищете для проверки исходного сообщения, которое запускает оркестровку, или сообщения, созданные в рамках оркестровки?

Вы делаете что-нибудь еще, кроме преобразования, отправки данных в базу данных и отправки подтверждения? Если нет, я бы предложил вообще не использовать оркестровку. Все это можно обработать с помощью maps и подписок на порты отправки. Кроме того, добавив конвейер к месту получения, вы получите проверку схемы XML, которую вы ищете.

Если необходима оркестровка, то вы все равно можете либо использовать порт приема внутри оркестровки (своего рода перебор только для проверки схемы, но все же это возможно), либо вы можете отредактировать файл BTSNTSvc.exe.config, как описано здесь . Однако редактирование файла конфигурации может привести к некоторым накладным расходам, поскольку это настройка на стороне сервера.

Другим вариантом может быть наличие порта приема, который проверяет XML, а затем подписка вашей оркестровки только на этот порт приема.

Надеюсь, это поможет.

Комментарии:

1. Сообщение (недопустимый XML) является первым сообщением (входным сообщением) оркестровки.