Может ли 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. Есть два основных способа сделать это:

  1. Синхронный ответ. Например, если вы отправляете сообщение XML по HTTP или SOAP, вы можете попросить разработчиков BizTalk отправить вам ответ HTTP/SOAP, подтверждающий получение сообщения. Обратите внимание, что это не обязательно означает, что вся обработка выполнена (BizTalk позволяет вам отправить ответ и продолжить обработку позже), просто подтверждение того, что сообщение было получено.

  2. Асинхронный ответ: вы можете, например, открыть веб-сервис из вашего веб-приложения, и BizTalk отправит ему сообщение, когда ваш запрос завершит обработку. Тогда вам будет необходимо соотнести ответ от BizTalk с вашим исходным запросом в веб-приложении (это может быть так же просто, как пометить что-то в БД, как сделано, или что-то еще). (Вы также можете сделать это через очередь MSMQ или другой механизм асинхронности).

В любом случае это то, что вам нужно решить с командой разработчиков BizTalk, какую архитектуру вы хотите использовать для подтверждений, и для этого потребуются изменения на обоих концах решений.

Другие вопросы по тегам