Была ли эта страница полезной?
Ваш отзыв об этом контенте важен для нас. Расскажите нам о том, что вы думаете.
Дополнительный отзыв?
1500 символов осталось
Действия маршрутизации и ответа: устранение несоответствия протоколов

Действия маршрутизации и ответа: устранение несоответствия протоколов

Обновлено: Июль 2015 г.

Несоответствие протокола возникает тогда, когда отправитель и получатель сообщения используют разные протоколы сообщений. В типовом сценарии Службы BizTalk с использованием мост отправитель отправляет сообщение в мост. мост обрабатывает сообщение и высылает его получателю сообщения. Это означает, что несоответствие протоколов должно обрабатываться мостами в двух случаях:

  • во-первых, когда сообщение отправляется получателю сообщения. Это применимо и к Односторонний мост XML, и к Мост XML "запрос-ответ", поскольку в обоих случаях сообщение должно быть отправлено получателю сообщения. Такой процесс называется действием маршрутизации.

  • Во-вторых, когда сообщение ответа, полученное от получателя сообщения, возвращается отправителю сообщения. Это применимо только к Мост XML "запрос-ответ", поскольку только для этого мост ответ должен быть возвращен отправителю сообщения. Такой процесс называется действием ответа.

Действия маршрутизации и ответа работают в свойствах, которые задаются на этапе обогащения.

Рассмотрим сценарий использования действия маршрутизации для обработки несоответствия протоколов. Согласно сценарию, сообщение POX (традиционное XML)/REST должно быть отправлено службе WCF (которая ожидает сообщение SOAP) через Односторонний мост XML. Сообщение, отправляемое мосту, представляет собой простую полезную нагрузку XML и не имеет заголовков. С другой стороны, исходящее сообщение для службы WCF должно иметь некоторые заданные заголовки SOAP. Чтобы мост обработал это несоответствие протоколов, пользователь, который настраивает мост, использует действие маршрутизации для назначения исходящему сообщению некоторых необходимых заголовков SOAP, таких как Action (Действие), MessageID (Идентификатор сообщения) и т. д. После настройки мост и его развертывания в Служебная шина отправляется сообщение POX в мост. После обработки сообщения, но перед его маршрутизацией в службу WCF заголовки, заданные действием маршрутизации мост, отмечаются в сообщении и передаются в службу WCF — это позволяет устранить несоответствие протоколов. Настройка действия маршрутизации описывается в разделе The Routing Action.

В следующей таблице перечислены способы передачи значений свойств между промежуточными этапами (или назначением) Проект служб BizTalk с использованием действий маршрутизации:

 

От кого/Кому Другим мост Очередям и разделам Ретрансляциям или конечным точкам внешней службы

От мост

Свойства не могут передаваться «как есть» (пары «ключ-значение»), но могут передаваться после их назначения в качестве значений заголовков исходящих сообщений (HTTP или SOAP).

Свойства могут передаваться «как есть» (пары «ключ-значение»), а также как значения заголовков исходящих сообщений.

Свойства не могут передаваться «как есть» (пары «ключ-значение»), но могут передаваться после их назначения в качестве значений заголовков исходящих сообщений (HTTP или SOAP). При этом конструктор мостов должен обеспечить прохождение соответствующих заголовков, принимаемых ретрансляцией или внешней службой.

Действие ответа полностью повторяет действие маршрутизации. Единственное различие заключается в том, что действие маршрутизации применяется, когда сообщение отправляется конкретному получателю (в Односторонний мост XML или Мост XML "запрос-ответ"), а действие ответа — когда ответ получателя сообщения возвращается отправителю (только в случае Мост XML "запрос-ответ".)

Чтобы лучше понять этот процесс, можно просто выполнить в обратном порядке сценарий, используемый для действия маршрутизации. Предположим, что отправитель сообщения должен отправить сообщение SOAP службе REST, ожидающей сообщение POX/REST через Мост XML "запрос-ответ". Сообщение, отправляемое в мост, представляет собой сообщение SOAP со всеми необходимыми заголовками. мост до маршрутизации сообщения в службу REST неявно удаляет заголовки сообщения и отправляет в службу REST только полезную нагрузку XML. Ответ от службы REST также является сообщением POX. Перед тем, как вернуть ответ POX отправителю сообщения, действие ответа ставит метки заголовкам сообщения POX, а затем отправляет запечатанное сообщение SOAP отправителю сообщения. Настройка действия ответа описывается в разделе Create an XML Request-Reply Bridge.

В следующей таблице перечислены способы возврата значений свойств из мост клиенту отправления сообщений с помощью действий ответа:

 

От кого/Кому Другим мост Ретрансляциям или конечным точкам внешней службы

От мост

Свойства не могут передаваться «как есть» (пары «ключ-значение»), но могут передаваться после их назначения в качестве значений заголовков исходящих сообщений (HTTP или SOAP).

Свойства не могут передаваться «как есть» (пары «ключ-значение»), но могут передаваться после их назначения в качестве значений заголовков исходящих сообщений (HTTP или SOAP). При этом конструктор мостов должен обеспечить прохождение соответствующих заголовков, принимаемых ретрансляцией или внешней службой.

Несмотря на то, что действия маршрутизации и ответа можно использовать для настройки свойств заголовков сообщений, необходимо учитывать следующее:

  • Необходимо осторожно подходить к использованию заголовков сообщения SOAP To и ReplyTo. Это связано с тем, что базовая привязка, например привязки WCF, может переопределять эти заголовки сообщений. В результате, если приложение, принимающее такие сообщения, ожидает заголовки сообщений, заданные с помощью действий маршрутизации и ответа, могут возникнуть неожиданные ошибки.

  • Необходимо задать заголовок SOAP MessageID при маршрутизации сообщения к конечным точкам, использующим basicHttpBinding или basicHttpRelayBinding.

См. также

Основные понятия

Что такое мосты?

Показ:
© 2015 Microsoft