다시 컴파일하지 않고 웹 서비스 URL을 어떻게 변경할 수 있나요?

StackOverflow https://stackoverflow.com/questions/907715

  •  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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top