Назад | Перейти на главную страницу

Лучший способ условно вызвать несколько веб-сервисов из MDT CustomSettings.ini?

У меня есть развертывание MDT, которое работает немного по-другому в зависимости от местоположения в сети. Из одного из мест мне нужно позвонить в два веб-сервиса. Моя первая неудачная попытка была:

[Settings]
Priority=DefaultGateway

[DefaultGateway]
10.0.0.1=LOCATION_A
10.100.0.1=LOCATION_B

[LOCATION_A]
Subsection=WebService1
Subsection=WebService2

[WebService1]
WebService=http://contoso.com/webservice1

[WebService2]
WebService=http://contoso.com/webservice2

Я быстро обнаружил, что это не работает, потому что в разделе может быть только один подраздел. Лучшее, что я мог придумать, - это заставить один веб-сервис вызывать другой. Это работает, но теперь, когда веб-сервисы развиваются и у меня есть другие вызывающие стороны, мне приходится поддерживать несколько копий некоторых сервисов (то есть как связанных, так и несвязанных). Например,

[Settings]
Priority=DefaultGateway

[DefaultGateway]
10.0.0.1=LOCATION_A
10.100.0.1=LOCATION_B

[LOCATION_A]
Subsection=WebService1AndWebService2

[WebService1]
WebService=http://contoso.com/webservice1

[WebService2]
WebService=http://contoso.com/webservice2

[WebService1AndWebService2]
WebService=http://contoso.com/webservice1
Subsection=WebService2

Итак, у меня есть два места, где я должен поддерживать URL-адрес WebService1, параметры и т. Д.

Есть ли лучший способ в CustomSettings.ini? Должен ли я просто прибегать к вызову веб-служб вручную из последовательности задач вместо того, чтобы пытаться выполнить это из CustomSettings.ini?

Придумал способ получше. Это позволяет вам легко включать / отключать веб-службы, которые вы хотите вызывать с разных DefaultGateways, но вы не сможете по-разному настроить порядок между ними.

[Settings]
Priority=DefaultGateway,FLAG_WebService1,FLAG_WebService2
Properties=FLAG_WebService1,FLAG_WebService2

[DefaultGateway]
10.0.0.1=LOCATION_A
10.100.0.1=LOCATION_B

[LOCATION_A]
FLAG_WebService1=FLAG_YES_WebService1
FLAG_WebService2=FLAG_YES_WebService2

[FLAG_YES_WebService1]
WebService=http://contoso.com/webservice1

[FLAG_YES_WebService2]
WebService=http://contoso.com/webservice2