Получение типа документа cXML в BizTalk - PullRequest
0 голосов
/ 25 июня 2019

Мы пытаемся обработать cXML-сообщение от Ariba, которое включает в себя это объявление типа документа.

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.031/cXML.dtd"[]>

Какой лучший способ удаления этого типа документа cXML в BizTalk?

  1. Использование ESB Добавить конвейер пространства имен или
  2. Пользовательский компонент, который удаляет тип документа, используя замену строки и регулярное выражение

Примечание: конвейер пространства имен ESB Add автоматически удалит это объявление типа документа.

1 Ответ

1 голос
/ 28 июня 2019

Используйте компонент конвейера ESB Add Namespace, он готов, поэтому не требуется никакого специального кодирования, и он надежен.Единственная известная мне проблема с этим конвейерным компонентом - это незначительная проблема, как показано ниже (скопировано из моего сообщения в блоге BizTalk 2013 R2, известные ошибки, проблемы и причуды )

Проблема: Компонент конвейера ESB Add Namespace добавляет спецификацию обратно
Если вы используете компонент конвейера ESB Remove Namespace и сообщаете ему RemoveByteOrderMark, а затем добавляете компонент ESB Add Namespace Pipeline в конвейере отправки в файл, тоСозданный файл будет иметь метку порядка байтов.

...