2011-05-13 8 views
1

나는 webservices에 대한 여러 참조가있는 프로젝트를 가지고 있으며 서비스에 대한 다른 URL을 가진 두 개의 다른 구성 파일 (dev/stage 및 production 용)을 만들었습니다. 웹 서비스가 원래 추가 된 URL은 상관 없지만 다른 하나는 실패합니다.동적 URL이있는 웹 서비스

예를 들어, "웹 참조 추가"단추를 사용하여 server1에 서비스를 추가하면 응용 프로그램을 실행할 때 모든 것이 잘 작동합니다. 그런 다음 config2 파일에서 동일한 서비스를 사용하도록 설정 파일을 전환하면 내 응용 프로그램이 더 이상 작동하지 않습니다. 모든 호출 .net 웹 서비스 null로 반환합니다. 서버를 반환하는 XML을보기 위해 피들러를 사용하면 동일하게 보입니다.

웹 서비스가 다시 빌드 될 때마다 (아무 것도 변경되지 않아도) 언제든지 응용 프로그램의 모든 참조를 새로 고쳐야합니다. 그게 관련이 있는지 모르겠다.

어떤 문제가 있으며이를 해결할 수있는 방법이 있습니까?

답변

0

나는 이것을 가진 큰 프로젝트를하고있다.

사용자가 자신의 웹 서비스 끝점을 사용하여 계정을 생성하므로 동적이어야합니다.

트릭은 각 서비스 호출 전에 끝점 주소를 항상 변경하는 것입니다. Find 서비스의

예를

FindClient wsFin = new FindClient(); 
wsFin.Endpoint.Address = 
    new System.ServiceModel.EndpointAddress(clientUrl.TrimEnd('/') + "/Find.svc"); 

단지 참고로 : 나는 svcutil를 사용하는 대신에 참조를 추가 프록시를 만들 선호하지만, asmx 웹 서비스를 위해, 내가 참조를 추가 않았다 WCF 서비스에 대한 :)

+0

나는 이것이 WCF 또는 asmx webservice가 아니라 Peoplesoft가 생성 한 평범한 예전 SOAP 서비스라는 것을 분명히해야한다고 생각한다. – jhunter

+0

'wsdl'을 가지고있는 한,'svcutil'을 사용하여 프록시를 생성 할 수 있습니다. 어떤 언어이고 어떤 언어로 만들어 졌는지에 상관없이! – balexandre