Один запрос / ответ SOAP, отправленный на две конечные точки

#c# #asp.net #iis #soap

#c# #asp.net #iis #soap

Вопрос:

Мне интересно, как лучше всего решить нижеприведенное: на отдельных серверах IIS есть два идентичных веб-сервиса SOAP asmx, написанных на C # (wsdl одинаковы) (к вашему сведению: один (A) записывает в Oracle, а другой (B) записывает в SQLServer) Ответы возвращаются отправителю запроса (ошибкасообщения, успех и тому подобное) Итак, теперь у запрашивающего есть 2 конечные точки — все хорошо

Проблема теперь в том, что запрашивающая сторона может иметь только одну конечную точку. Конечная точка является единственной. Моему руководству говорят, чтобы я изменил (A) код веб-сервиса для сквозного запроса / ответа на (B) веб-сервис.

Это лучшее решение? Будет ли это хорошим использованием для IIS ARR (маршрутизация запросов приложений)? Он не установлен на сервере. Я думаю, это может быть так же просто, как изменить конфигурационные файлы ..? Руководство говорит мне изменить код A (решение MVC), но я думаю, что для этого есть простое решение.

Кто-нибудь делал что-то подобное и мог поделиться знаниями или ссылками на примеры? Среда — это Windows Server 2016, все в одном домене. Я не могу найти много информации об ARR или, может быть, я не понимаю ARR. Или, может быть, это совершенно чрезмерное решение.

Спасибо за любой совет!

Комментарии:

1. Способ, которым я справлялся с этим в прошлом, заключается в том, что я знал, какой поставщик был SOAP, А другой — REST, и на основе этого на моем уровне данных я бы выполнил запрос к конечной точке на основе этого с помощью оператора switch, который является одним из решений, я уверен, что есть и многие другие

2. я не думаю, что ARR может распределять полезную нагрузку запроса — он предназначен для маршрутизации одного запроса на один серверный сервер на основе свойств запроса. Какова логика для принятия решения о том, какую службу вы хотите использовать?

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

4. Или вы могли бы заглянуть в движки BPEL, они выполняют оркестровку веб-сервисов (что вы здесь делаете — не могу сказать вам, раздуты они или нет): en.wikipedia.org/wiki/List_of_BPEL_engines