2009-05-25 77 views
0

我们有一个网络应用程序,通过Netsuite的网络服务与Netsuite交谈。我们通过VS 2005的Add Web Reference向导来设置Web服务,该向导会生成所有的代理代码。如何更改Web服务URL而无需重新编译?

Netsuite拥有允许测试的沙箱帐户(不同的Web引用URL)。理想情况下,我们希望在实时服务和测试服务之间来回切换。我希望我可以改变一个XML文件来指向我想要的Web服务。该配置文件包含

<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> 

但Web引用URL是https://webservices.netsuite.com/wsdl/v2008_2_0/netsuite.wsdl

有没有人尝试这一点,并知道如何做到这一点?

+0

所以当你在配置文件中更改url时会发生什么?是不是这个工作,或者你想要一个单独的XML文件与URL而不是app/web.config? – 2009-05-25 18:56:38

+0

配置文件中的URL与我在向导中输入的URL不匹配,所以我不确定应该更改哪些URL来尝试其他服务。 – woaksie 2009-05-25 19:08:20

回答

0

无法在VS2005中测试,但我知道在2008年部署Web应用程序时,它会将服务URI放置在Properties目录下的Settings.settings文件中。您可以将URI更改为指向该服务的测试实例,然后重新启动该应用程序。

0

您可以将WebService URL放入web.config(或AppSettings.config)文件中,然后在运行时对其进行设置。

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

这将允许您在不重新编译应用程序的情况下更改WebService URL。

相关问题