Может ли BizTalk отправить моему веб-приложению C# сообщение подтверждения?
-
29-09-2019 - |
Вопрос
Доброе утро, парни
Мы поддерживаем веб-приложение C#.
Это приложение отправляет XML
сообщение в BizTalk, но почему-то команда разработчиков еще не подготовила сообщение обратной связи, чтобы сообщить нашему приложению что-то вроде:
<Response>
<Request>1</Request>
<Message>BizTalk has successfully processed your request.</Message>
<Date>2010-10-20</Date>
</Response>
Вопрос в том, может ли BizTalk отправить нашему веб-приложению C# ответ XML?
Какой подход я могу использовать?Создать прослушиватель, чтобы дождаться ответа, использовать веб-сервис, чтобы узнать ответ, или что-то еще?
Спасибо
Решение
Это во многом зависит от того, какой тип обработки вы выполняете и как вы общаетесь с BizTalk.Есть два основных способа сделать это:
Синхронный ответ:Например, если вы отправляете XML-сообщение через HTTP или SOAP, вы можете попросить разработчиков BizTalk отправить вам ответ HTTP/SOAP, подтверждающий получение сообщения.Обратите внимание, что это не обязательно означает, что вся обработка завершена (BizTalk позволяет вам отправить ответ и продолжить обработку позже), это просто подтверждение того, что сообщение было получено.
Асинхронный ответ:Например, вы можете предоставить веб-службу из своего веб-приложения и заставить BizTalk отправить ей сообщение после завершения обработки вашего запроса.Затем вы сможете сопоставить ответ от BizTalk с исходным запросом в вашем веб-приложении (это может быть просто пометка чего-либо в БД как выполненное или что-то еще).(Вы также можете сделать это через очередь MSMQ или какой-либо другой асинхронный механизм).
В любом случае вам придется вместе с командой разработчиков BizTalk решить, какую архитектуру вы хотите использовать для подтверждений, и это потребует изменений на обеих сторонах решения.