Вы пытаетесь подписаться на сообщение «MyMessage» или на то же сообщение, которое отправляется на логический порт отправки, связанный с физическим портом отправки WCF?
Вы заявили, что:
Затем сообщение «MyMessage» дополнительно сопоставляется, а затем отправляется в веб-службу с использованием логического порта отправки в оркестровке. Затем порт отправки WCF привязывается к оркестровке, и все работает нормально.
Сообщение не опубликовано в MsgBox
Из того, что вы описали, я бы предположил, что у вас нет комбинации формы отправки / логического порта отправки в вашей оркестровке для сообщения «MyMessage», поэтому вы не можете вручную подписаться на этот тип сообщения в фильтре порта отправки. . Тот факт, что вы не упомянули сообщение «Failed Routing Report», также предполагает, что это так: этот тип сообщения генерируется, когда не удается найти подписку для сообщения, которое должно быть опубликовано в MsgBox.
Захват 'MessageType' сообщения
Однако, если вам нужно захватить копию сообщения, которое вы отправляете через порт отправки WCF, вам нужно будет определить его MessageType и использовать это во второй подписке на порт отправки. который записывает сообщение в файл.
Если вы не уверены, какой MessageType использовать, есть простой способ определить эту информацию:
- Остановить (не удалить из списка) порт отправки WCF
- Отправьте сообщение через оркестрацию как обычно — сообщение будет помечено как «Приостановлено для возобновления» в консоли администратора BizTalk на порте отправки WCF.
- Откройте сообщение в консоли администратора BizTalk и просмотрите его «Контекст сообщения»; в контексте сообщения вы увидите его свойство «MessageType», которое затем можно использовать, чтобы понять, какой фильтр подписки использовать.
- Запустите порт отправки WCF, чтобы сбросить сообщение.
В качестве альтернативы, если вы не хотите менять свою оркестровку, вы можете попробовать архивировать свое сообщение, когда оно проходит через конвейер отправки в (исходном) порте отправки WCF — либо напишите свой собственный компонент архивации, либо используйте существующий коммерческий компонент. Используя компонент архивации таким образом, вы сэкономите на дополнительных расходах на подписку и связанное с этим обслуживание порта отправки.
Обновление:
Это очень похоже на то, что OP не отправляет промежуточное сообщение в окно сообщений из своей оркестровки (см. комментарии). Подписка на сообщения будет работать только тогда, когда сообщение опубликовано в окне сообщений. В этом случае рассматриваемое сообщение («Сообщение B») является промежуточным сообщением, которое существует только в контексте и времени существования оркестровка. OP должен отправить сообщение на порт прямой связи в Оркестрации, чтобы разрешить подписку на сообщение через порт отправки.
person
Nick Heppleston
schedule
22.03.2013