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