Comment puis-je modifier une URL de service Web avec des recompilation?
-
05-09-2019 - |
Question
Nous avons une application web qui parle à NetSuite via les services Web de NetSuite. Nous configurer le service Web via l'assistant de référence Add Web de VS 2005 qui génère tout le code proxy.
NetSuite ont des comptes de bac à sable qui permettent de tester (une URL de référence Web différent). Idéalement, nous voulons sauter et-vient entre le service en direct et le service de test. J'espère que je peux modifier un fichier xml pour pointer vers le service web que je veux. Le fichier de configuration contient
<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>
mais l'URL de référence Web est https://webservices.netsuite.com/wsdl /v2008_2_0/netsuite.wsdl
Quelqu'un at-il essayé et savoir comment faire cela?
La solution
Impossible de tester dans VS2005, mais je sais en 2008 lors du déploiement d'une application Web, il met l'URI service dans le fichier Settings.settings dans le répertoire Propriétés. Vous pouvez modifier l'URI pour pointer vers l'instance de test du service là-bas et redémarrez l'application.
Autres conseils
Vous pouvez mettre l'URL WebService dans le web.config (ou appSettings.config) fichier, puis le mettre à exécution.
wsProxy proxy = new wsProxy();
wsProxy.Url = ConfigurationManager.AppSettings.Get("WebserviceUrl");
wsProxy.DoSomething();
Cela vous permettra de changer l'URL WebService sans recompiler l'application.
Je le fais souvent avec APPLS d'intégration NetSuite sans avoir besoin de recompiler. Swap sur la valeur de votre service dans votre fichier de configuration à
https://webservices.sandbox.netsuite.com/services/NetSuitePort_2008_2
si vous utilisez cette valeur pour la production:
h TTPs: //webservices.netsuite.com/services/NetSuitePort_2008_2