我们有一个网络应用程序,通过Netsuite的Web服务与Netsuite交谈。我们通过VS 2005的Add Web Reference向导设置Web服务,该向导生成所有代理代码。
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>
但是网址参考网址是https://webservices.netsuite.com/wsdl/v2008_2_0/netsuite.wsdl
有没有人试过这个并知道如何做到这一点?
无法在VS2005中进行测试,但我知道在2008年部署Web应用程序时,它会将服务URI放在Properties目录中的Settings.settings文件中。您可以将URI更改为指向该服务的测试实例,然后重新启动应用程序。
您可以将WebService URL放在web.config(或AppSettings.config)文件中,然后在运行时设置它。
wsProxy proxy = new wsProxy();
wsProxy.Url = ConfigurationManager.AppSettings.Get("WebserviceUrl");
wsProxy.DoSomething();
这将允许您更改WebService URL而无需重新编译应用程序。
我经常使用NetSuite集成应用程序执行此操作,而无需重新编译。将配置文件中的服务值换成
https://webservices.sandbox.netsuite.com/services/NetSuitePort_2008_2
如果您将此值用于生产:
h ttps://webservices.netsuite.com/services/NetSuitePort_2008_2