Настройка тела исходящего сообщения WCF с продвинутыми свойствами контекста - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть порт отправки, который получает документ с набором свойств повышенного контекста.Адаптер на порту отправки установлен как WCF-SQL и настроен для подключения к серверу SQL.

Единственная недостающая часть - это настройка вкладки сообщений, чтобы в базу данных отправлялось правильное сообщение.Прямо сейчас у меня просто есть некоторые жестко закодированные значения вместе с самим сообщением:

<bizSaveDocument xmlns="http://schemas.microsoft.com/Sql/2008/05/Procedures/dbo">
   <conversationID>547e0702-c0c8-4535-9ab0-fa52b2fdbdd0</conversationID>
  <dataType>OIO</dataType>
  <fromID></fromID>
  <toID></toID>
  <msgInfoExtension><![CDATA[<infoExt><fileInfo fileName="ublinvoice.xml" encoding="utf-8" /></infoExt>]]></msgInfoExtension>
  <msgBody><bts-msg-body xmlns="http://www.microsoft.com/schemas/bts2007" encoding="string"/></msgBody>
  <msgBodyBin></msgBodyBin>
</bizSaveDocument>

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

enter image description here

Я не могу использовать опцию body, так как мне нужновставить некоторые продвигаемые свойства в базу данных.Глядя на MSDN, кажется, нет объяснения, как это сделать.См. Эту ссылку: https://docs.microsoft.com/en-us/biztalk/core/specifying-the-message-body-for-the-wcf-adapters

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

Разве это просто невозможно в стандартном Biztalk?Если нет, мне нужно будет создать дополнительный компонент конвейера для обработки отправки.

1 Ответ

0 голосов
/ 04 декабря 2018

Ах, хорошо, я понимаю, что вы делаете .... так что ... не делайте так.

Лучший и по существу правильный способ справиться с этим - с помощью обычногоBizTalk поток с картами и оркестровки.Помните, нет ничего плохого в использовании Orchestration , если кто-то говорит вам не использовать Orchestrations, они, ну, в общем-то, ошибочны. *

По сути, сопоставьте вам схему SQL с использованием tempзначения, затем установите их из контекста, используя выделенные поля.

Никогда не беспокойтесь о вкладке «Сообщения», она в основном скрывает код там, где его никогда не должно быть.

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

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