Насколько я знаю, для этого нет встроенного способа.
Однако есть два решения, которые я вижу:
Использование пользовательской таблицы стилей XML
Если щелкнуть карту правой кнопкой мыши и внимательно просмотреть сгенерированную таблицу стилей xsl, вы увидите следующее объявление пространства имен XML:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:ns1="http://www.w3.org/XML/1998/namespace"
...
>
...
<xsl:attribute name="ns1:lang">
...
Это поведение модуля сопоставления BizTalk по умолчанию, и вы ничего не можете с этим поделать. Однако, если вы продолжите извлекать сгенерированный XSLT и использовать его в качестве серверной части для своей карты, вы можете изменить это объявление, чтобы оно соответствовало ожидаемому результату.
- Сначала скопируйте таблицу стилей в папку вашего проекта.
- Включите эту таблицу стилей в виде файла в свой проект BizTalk.
- Обновите таблицу стилей, чтобы объявление пространства имен и соответствующий префикс атрибута были правильными.
Результирующая таблица стилей xsl выглядит следующим образом:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xml="http://www.w3.org/XML/1998/namespace"
...
>
...
<xsl:attribute name="xml:lang">
...
Теперь вы можете использовать эту пользовательскую таблицу стилей в качестве серверной части карты.
- В Visual Studio откройте карту.
- Щелкните в любом месте пустого места на поверхности конструктора BizTalk.
- В свойствах карты найдите Пользовательский путь XSL и укажите расположение пользовательской таблицы стилей.
Использовать пользовательский компонент конвейера
Вам нужно, чтобы сообщение было правильным для вашего целевого получателя. Таким образом, идея состоит в том, чтобы изменить префикс пространства имен, нарушающий правила, при отправке сообщения за пределы BizTalk. Преобразование происходит во время обработки конвейера отправки.
Ник Барден ведет блог и предоставляет исходный код об этом здесь а>. Вы можете использовать его пример в качестве основы для замены префиксов пространств имен, а не заменять сами пространства имен.
Я настоятельно рекомендую вам ознакомиться со всей серией его публикаций о разработке компонентов конвейера потоковой передачи. Ник проделал обширную и тщательную работу по описанию всего, что необходимо для создания надежных компонентов конвейера корпоративного класса.
person
Maxime Labelle
schedule
03.01.2011