Como posso alterar a URL do Serviço Web com fora recompilar?
-
05-09-2019 - |
Pergunta
Temos uma aplicação web que está falando com Netsuite via serviços web da NetSuite. Nós configurar o serviço Web via VS 2005 do assistente Adicionar referência da Web que gera todo o código proxy.
Netsuite têm contas sandbox que permitem testar (a URL de referência web diferente). Idealmente queremos hop e para trás entre o serviço ao vivo eo serviço de teste. Estou esperando que eu só posso alterar um arquivo xml para apontar para o serviço web que eu quero. O arquivo de configuração contém
<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>
mas o URL de referência web é https://webservices.netsuite.com/wsdl /v2008_2_0/netsuite.wsdl
Alguém já tentou isso e sabe como fazer isso?
Solução
não pode teste no VS2005, mas sei que em 2008, quando você implantar um aplicativo web, ele coloca o serviço URI no arquivo Settings.settings no diretório Propriedades. Você pode alterar a URI para apontar para a instância de teste do serviço lá e reiniciar o aplicativo.
Outras dicas
Você poderia colocar o WebService URL no web.config (ou AppSettings.config) arquivo e, em seguida, defini-lo em tempo de execução.
wsProxy proxy = new wsProxy();
wsProxy.Url = ConfigurationManager.AppSettings.Get("WebserviceUrl");
wsProxy.DoSomething();
Isso permitirá que você mude o WebService URL sem recompilar o aplicativo.
Eu faço isso com frequência com appls integração NetSuite sem a necessidade de recompilação. Troque o seu valor de serviço em seu arquivo de configuração para
https://webservices.sandbox.netsuite.com/services/NetSuitePort_2008_2
Se você estava usando esse valor para a produção:
h ttps: //webservices.netsuite.com/services/NetSuitePort_2008_2