2014-12-11 3 views
0

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

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

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

ответ

0

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

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

Смежные вопросы