3

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://msdn.microsoft.com/en-us/library/system.web.services.protocols.httpwebclientprotocol.cookiecontainer.aspx

http://megakenp.com/2009/02/06/managing-shared-cookies-in-wcf/

4

1 に答える 1