отправка сообщения в оркестровку biztalk из веб-сервиса - PullRequest
1 голос
/ 09 сентября 2010

Я создал оркестровку BizTalk, которая отправляет сообщение в веб-службу wcf, веб-служба создает задачу на sharepoint, и оркестровка получает ответ (просто строка «succes»). Теперь я также создал обработчик событий в sharepoint, когда кто-то меняет задачу, чтобы «завершить» выполнение некоторого кода. Я хочу иметь возможность отправлять сообщение в оркестровку biztalk, когда кто-то «завершает» задачу. Как я могу это сделать?

Я могу позвонить в веб-сервис из sharepoint, но как мне передать сообщение в оркестровку biztalk? Если в моей оркестровке я «использую службу wcf», создается порт отправки-получения, но я хочу только «получить» сообщение от веб-службы. Таким образом, веб-сервис должен отправить сообщение в оркестровку.

Спасибо

Ответы [ 3 ]

3 голосов
/ 09 сентября 2010

Если я вас правильно понимаю, вы используете службу WCF для отправки задачи в SharePoint (возможно, вы сможете использовать адаптер BizTalk SharePoint для этого непосредственно - я не использовал его, но я думаю, что это своего родачто это может сделать).Обработчик событий в SharePoint запускается, когда задача помечается как завершенная, и затем отправляет сообщение обратно в BizTalk.

Чтобы вернуть сообщение в BizTalk, вам необходимо создать место получения WCF.Это место получения может быть либо односторонним, либо двусторонним.Это действительно оба порта приема.Порт получает сообщение от SharePoint через WCF, а затем отправляет ответ обратно в SharePoint для подтверждения получения.BizTalk считает его односторонним портом приема, если он только отправляет обратно ACK.Он считает, что это двухсторонний порт приема, если он отправляет ACK вместе с сообщением.

Итак, в двух словах, вам нужно настроить этот второй порт приема в оркестровке.Опубликуйте его как веб-сервис WCF.Вам также необходимо настроить корреляцию, чтобы сообщение могло вернуться к правильному экземпляру оркестровки.Вот хороший пост в блоге о корреляции: http://mstecharchitect.blogspot.com/2009/03/message-correlation-in-biztalk-2006.html.

Ключ к успешной корреляции заключается в том, что в каждом сообщении имеется свойство повышенного уровня, которое можно использовать для их привязки к одному и тому же.Поэтому задача, которую вы отправляете в SharePoint, должна иметь уникальный TaskID (или любой другой).И ответ от SharePoint должен иметь то же самое продвигаемое свойство в ответе.

1 голос
/ 10 сентября 2010

Просто чтобы добавить к сообщению Криса (+1) - BizTalk очень гибко относится к тому, как вернуть успех (или неудачу) из рабочего процесса в Sharepoint обратно в оркестровку - вы можете использовать что угодно, от записи файла в каталоге с помощьюфайловый адаптер, отправка его по электронной почте на порт приема SMTP, запись записи в базу данных и опрос из BizTalk с использованием адаптера SQL.

Чтобы представить оркестровку (или получить порты в ней) в качестве службы WCFсамый простой способ - использовать мастер публикации WCF (Инструменты | Мастер публикации WCF в Visual Studio).Это поможет вам создать порты в BizTalk и опубликовать веб-сервис и Mex / WSDL под IIS.После этого вы сможете добавить ссылку на веб / сервис из вашего приложения Sharepoint.Нужно убедиться, что приложение под IIS запущено.Обратите внимание, что BizTalk также можно напрямую размещать на WCF, но это немного сложнее.

0 голосов
/ 09 сентября 2010

Как выглядит веб-сервис, который вы пытаетесь использовать?У него есть возвращаемое значение?Вы можете просто отправить «успех», как в другом случае.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...