Как я могу изменить URL-адрес веб-службы без перекомпиляции?

StackOverflow https://stackoverflow.com/questions/907715

  •  05-09-2019
  •  | 
  •  

Вопрос

У нас есть веб-приложение, которое взаимодействует с Netsuite через веб-службы Netsuite.Мы настраиваем веб-службу с помощью мастера добавления веб-ссылки VS 2005, который генерирует весь прокси-код.

В Netsuite есть учетные записи песочницы, которые позволяют проводить тестирование (другой URL-адрес веб-ссылки).В идеале мы хотим переключаться между живым сервисом и тестовым сервисом.Я надеюсь, что смогу просто изменить XML-файл, чтобы он указывал на нужный мне веб-сервис.Конфигурационный файл содержит

    <Netsuite.Properties.Settings>
        <setting name="Netsuite_com_netsuite_webservices_v21_NetSuiteService"
            serializeAs="String">
            <value>https://webservices.netsuite.com/services/NetSuitePort_2008_2</value>
        </setting>
    </Netsuite.Properties.Settings>

но URL-адрес веб-ссылки https://webservices.netsuite.com/wsdl/v2008_2_0/netsuite.wsdl

Кто-нибудь пробовал это и знает, как это сделать?

Это было полезно?

Решение

Невозможно протестировать в VS2005, но я знаю, что в 2008 году при развертывании веб-приложения он помещает URI службы в файл Settings.settings в каталоге свойств.Вы можете изменить URI, чтобы он указывал на тестовый экземпляр службы, и перезапустить приложение.

Другие советы

Вы можете поместить URL-адрес веб-службы в файл web.config (или AppSettings.config), а затем установить его во время выполнения.

wsProxy proxy = new wsProxy();
wsProxy.Url = ConfigurationManager.AppSettings.Get("WebserviceUrl");
wsProxy.DoSomething();

Это позволит вам изменить URL-адрес веб-службы без перекомпиляции приложения.

Я часто делаю это с приложениями интеграции NetSuite без необходимости перекомпиляции.Замените значение службы в файле конфигурации на

https://webservices.sandbox.netsuite.com/services/NetSuitePort_2008_2

если вы использовали это значение для производства:

h https://webservices.netsuite.com/services/NetSuitePort_2008_2

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top