WebHttpRelay в BizTalk server 2013

Внешний поставщик должен отправить обратный вызов в нашу среду BizTalk. Там обратный вызов - это просто HTTP POST с телом XML.

Естественно, мы не хотим показывать наш BizTalk извне, и мы хотели бы перейти на службу ретрансляции в Azure.

Насколько я вижу, в BizTalk нет WebHttpRelayBinding. Есть ли способ обойти это или мне нужно создать службу.NET для этого?

1 ответ

Вы можете использовать WebHttpRelayBinding с пользовательским адаптером WCF. В текущем проекте мы настроили привязку вместе с поведениями TransportClientEndpointBehavior и ServiceRegistrySettings в machine.config. Это позволяет нам легко настраивать адаптер WCF Custom по мере необходимости.

Это прекрасно работает и поддерживает подход Microsoft к REST через службу ретрансляции. Это не совсем решает наши проблемы. Мы имеем дело с трафиком AS2 от поставщика. Мы получаем полезную нагрузку XML через AS2. Это нормально. WebHttpRelay обрабатывает XML. Проблема в том, что нам нужно возвращать подтверждения S/MIME (они называются MDN в AS2) синхронно. Чтобы сделать это, нам нужно было написать собственное поведение для обработки "сырого" форматирования в WCF. Нам также пришлось написать пару простых конвейерных компонентов для решения проблем форматирования и свойств сообщений в конце BizTalk. Мы можем развить это путем создания собственного адаптера с использованием WCF и рефакторинга логики компонента конвейера в адаптер на уровне модели сервиса.

Другие вопросы по тегам