Как заменить <и> в сообщении BizTalk? - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в BizTalk, и мне нужно прочитать некоторые значения из таблицы SQL Server.Пример набора результатов, который я получаю:Я хочу следующее:

<SelectResponse 
xmlns="http://schemas.microsoft.com/Sql/2008/05/TableOp/dbo/tableName">
    <SelectResult>
        <tableName xmlns="http://schemas.microsoft.com/Sql/2008/05/Types/Tables/dbo">
            <Message> 
                <item_1> item_1Value </item_1>
                <item_2> item_2Value </item_2>
                <item_3> item_3Value </item_3>
                <item_n> item_3Value </item_n> 
             </Message>
         </tableName>
   </SelectResult>
</SelectResponse>

У меня есть новая схема (для item_1, item_2, ...).Учитывая, что <Message> может появляться несколько раз в сообщении BizTalk, как проще получить то, что мне нужно, и как я могу это сделать?Спасибо.

1 Ответ

0 голосов
/ 04 марта 2019

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

У вас есть несколько вариантов, включая:

  1. Использование хранимой процедуры, которая загружает и обрабатываетэлемент Xml как Xml, а не строка в результате.
  2. В Orchestration извлеките элемент Xml, переформатируйте, чтобы включить корневой элемент, и создайте новое Сообщение на основе этого.

Проблема в том, как эти данные были сохранены, а не в том, как SQL Server их возвращает или как BizTalk представляет их.

...