2012-01-06 2 views
1

VS 2010 C# 프로젝트에서 참조한 두 가지 웹 서비스가 있습니다. 서비스 중 하나는 인증을 수행하고 다른 하나는 데이터를 가져옵니다. (WSDL을 사용하여 클래스를 생성 할 수도 있지만 웹 참조는 동일하게 보입니다).많은 서비스에 대해 WSDL을 사용합니다. 인증을 통과하는 방법은 무엇입니까?

나는 서비스 1로 인증하지만, 그럼 내가 인증 한 다른 서비스를 어떻게 알 수 있습니까? 피들러 (Fiddler)에서 볼 수있는 서비스 1에 의해 생성 된 쿠키가 있지만 기본 Http 클래스를 사용하지 않으므로 어떻게 얻는 지 알 수 없습니다.

답변

0

아하, 이제 대답을 참조하십시오. 내 WSDL로 생성 된 각 객체에는 인증 호출 후에 service1에서 읽을 수있는 CookieCollection이 있습니다. 그런 다음 두 번째 두 번째 서비스에 대한 쿠키를 다음과 같이 설정할 수 있습니다.

response = service1.Authenticate(); 
CookieCollection allCookies= service1.CookieContainer.GetCookies(uri); 
foreach (Cookie c in allCookies) 
{ 
    service2.CookieContainer.SetCookies(_uri,c.Name + "=" + c.Value); 
} 
service2.CallMyMethod(); 

그 주안점 인 것 같습니다.

관련 문제