URL がhttpsで始まる Web サービスのWeb 参照を追加しました。そして、次のC#コードで呼び出そうとしています
testwebservices.BasicHttpBinding_GDataService webservice = new testwebservices.BasicHttpBinding_GDataService ();
Uri uri = new Uri(webservice.Url);
CredentialCache cache = new CredentialCache();
cache.Add(uri, "Negotiate", new NetworkCredential("username", "password", "domainName"));
webservice.Credentials = cache;
var response = webservice.GetMethods();
return response;
次のエラーが表示されます
The request failed with HTTP status 401: Unauthorized.
その理由は、「BasicHttpSecurityMode がトランスポートとして設定されていない」ためだと思います (サービス参照として追加すると可能です)。それを設定する方法が見つかりませんでした。それとも、これは達成できないのでしょうか? これは VS.Net 2005 プロジェクトです。
更新: 以下も追加しましたが、それでも同じエラーが発生します
webservice.UseDefaultCredentials = true
var response = webservice.GetMethods();
作業バージョン: 次のコードが動作し始めました。@ user469104 に感謝
testwebservices.BasicHttpBinding_GDataService webservice = new testwebservices.BasicHttpBinding_GDataService ();
webservice.Credentials = new NetworkCredential("username", "password");
var response = webservice.GetMethods();