Visual Studio 2012 Express を使用して、C# で asmx Web サービスに接続しようとしています。
ドキュメントには、次のように cookiecontainer を Web サービスに割り当てるように記載されています。
using System.Web.Services.Protocols; /// using appropriate references
using System.Net;
using System.Net.Http;
// Create an instance of the Web Service and assign in
// a cookiecontainer to preserve the validated session
ServiceRef.WSClient wsClient = new ServiceRef.WSClient();
CookieContainer cookieJar = new CookieContainer();
wsClient.CookieContainer = cookieJar;
しかし、それはエラーになります:
'WebServiceTest.ServiceRef.WSClient' does not contain a definition
for 'CookieContainer' and no extension method 'CookieContainer'
accepting a first argument of type 'WebServiceTest.ServiceRef.WSClient'
could be found (are you missing a using directive or an assembly
reference?)
app.config に「allowCookies」を追加してみました。それはうまくいかないようです。ログインが必要な (Cookie が設定されている) ws メソッドの呼び出しは失敗します。失敗したということは、彼らが返す xml に問題があるというメッセージが表示されたことを意味します (おそらく xml 以外のエラーを返しています)。
私は C#、SOAP ベースの Web サービス、およびビジュアル スタジオはまったく初めてですが、私のコードとまったく同じコードを使用するコード例を数多く見てきました。例えば:
http://megakenp.com/2009/02/06/managing-shared-cookies-in-wcf/