Ниже приведено описание того, как это сделать - я собираюсь предположить, по крайней мере, базовые знания таких вещей, как сопоставление BizTalk, пожалуйста, дайте мне знать, если вам нужно больше подробностей, и я обновлю.
После генерации предметов в BizTalk у вас должно быть (как минимум):
- Файл оркестровки с созданными сообщениями и типами портов
- Схема, которая описывает сообщения, которые вы отправляете и получаете от и к вашей службе WCF
Файл .Binding.xml, который описывает контракт на обслуживание, предоставляемый службой WCF, и позволяет легко настраивать BizTalk
.
- Открыть файл оркестровки. Это должно быть пустым.
Перетащите порт из панели инструментов на поверхность дизайнера оркестровки.
- Назовите порт соответствующим образом.
- Выберите «Использовать существующий тип порта» - один из существующих типов портов будет вашей службой WCF (созданной мастером добавления сгенерированных элементов)
- Укажите, что вы будете отправлять и получать сообщения
- Укажите привязку позже
Этот порт должен иметь сообщения об операциях запроса и ответа, и они должны быть автоматически настроены для использования сообщений для вашей службы WCF. Если ваш сервис предоставляет несколько операций, вы увидите, что здесь отражено.
Используя стандартные методы сопоставления BizTalk, сопоставьте данные, которые вы хотите отправить службе WCF, с сообщением запроса для порта WCf. (вы можете захотеть изменить имена сообщений в конструкторе оркестровки на что-то лучше, чем по умолчанию message_1, message_2 ...)
Перетащите формы получения и отправки в конструктор оркестровки и подключите их к нужным сообщениям порта.
Подключите остальную часть оркестровки BizTalk для получения данных из соответствующих исходных систем (это просто базовый BizTalk, а не WCF)
Разверните приложение BizTalk.
Приложение готово к работе, вы можете развернуть его в BizTalk.
Настройка приложения BizTalk
- Откройте консоль администрирования BizTalk Server 2006 и найдите приложение, содержащее только что развернутую оркестровку.
- Оркестр будет исключен из списка, вам нужно связать все его порты
Для большинства портов это так же, как и для любого другого приложения BizTalk - отличаются только порты, которые имеют дело со службой WCF.
Для портов WCF у вас есть (по крайней мере, для начала) две основные опции:
- Импорт файла привязок, созданного мастером создания элементов BizTalk (щелкните правой кнопкой мыши приложение и выполните импорт - перейдите к файлу привязки .xml) - возможно, это целесообразно, пока вы не поймете, как Biztalk представляет все параметры привязки WCF.
Настройте свой собственный порт отправки WCF.
- Для этого порт должен быть Solicit-Response, чтобы соответствовать службе WCF.
- Выберите один из типов портов отправки WCF, чтобы соответствовать типу привязки вашей службы WCF.
Для начала (для базового веб-сервиса) это часто будет WCF-BasicHttp.
После того, как вы освоите основы, вы можете вернуться сюда и поэкспериментировать с опциями, доступными в привязке Custom - там есть LOT !
- Настройте порт отправки.
Теперь, когда ваш порт WCF создан, вы можете привязать к нему порты оркестровки.
Как только все это будет сделано, вы сможете запустить приложение BizTalk, и все должно работать.
Одна вещь, которая может помочь - ошибки будут записываться в журнал событий, они могут быть бесполезными, но вы также должны видеть любые сообщения о сбоях мыла, возвращенные службой, в режиме приостановленных сообщений.
Удачи!