2009-05-25 167 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。

相關問題