2012-01-06 9 views
1

VS 2010 C#プロジェクトで参照した2つのWebサービスがあります。サービスの1つは認証を行い、もう1つはデータを取得します。 (WSDLを使用してクラスを生成することもできますが、Web参照は同等です)。WSDLにはいくつかのサービスがあります。

私はサービス1で認証しますが、どのようにして他のサービスに認証済みであることを伝えますか? Fiddlerで見られるサービス1によって生成されたクッキーがありますが、基本的なHttpクラスを使用していないため、どのように取得するのか分かりません。

答えて

0

ああ、私は今答えを見る。 WSDLで生成された各オブジェクトには、認証呼び出し後にservice1から読み取ることができるCookieCollectionがあります。次に、2番目のサービスのCookieを次のように設定できます。

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

これはその要点です。