다시 컴파일하지 않고 웹 서비스 URL을 어떻게 변경할 수 있나요?
-
05-09-2019 - |
문제
Netsuite의 웹 서비스를 통해 Netsuite와 통신하는 웹 앱이 있습니다.모든 프록시 코드를 생성하는 VS 2005의 웹 참조 추가 마법사를 통해 웹 서비스를 설정했습니다.
Netsuite에는 테스트를 허용하는 샌드박스 계정이 있습니다(다른 웹 참조 URL).이상적으로 우리는 라이브 서비스와 테스트 서비스 사이를 오가기를 원합니다.나는 내가 원하는 웹 서비스를 가리키도록 XML 파일을 변경할 수 있기를 바라고 있습니다.구성 파일에는 다음이 포함됩니다.
<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>
하지만 웹 참조 URL은 https://webservices.netsuite.com/wsdl/v2008_2_0/netsuite.wsdl
누구든지 이것을 시도하고 이를 수행하는 방법을 알고 있습니까?
해결책
VS2005에서는 테스트할 수 없지만 2008년에 웹 애플리케이션을 배포하면 서비스 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