IIS Expressで実行されているWebアプリケーションからイントラネットWebサービスに接続しようとすると、そのWebサービスは403Forbiddenを返します。単体テストを介して、またはCassiniまたはサーバー上のIIS 7.5で実行されている同じサイトからアクセスすると、サービスは正しく機能します。私の腸はこれが構成の問題であると私に言います、しかし私はどこから探し始めるべきかわかりません。
IIS Expressで実行されているサイトからリモートWebサービスにアクセスしたときに、リモートWebサービスが403 Forbiddenを返す原因は何ですか?
アクセスしているサービスを明確にするために、SOAPベースではありません。特定のネットワーククレデンシャルを設定し、以下のコードが示すリクエストと一緒に渡します。
protected XDocument Search(Uri requestUri)
{
var nc = new NetworkCredential(this.config.ServiceUserName,
this.config.ServicePassword);
var cCache = new CredentialCache();
cCache.Add(requestUri, "Basic", nc);
var request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
request.Credentials = cCache;
request.PreAuthenticate = true;
request.Method = WebRequestMethods.Http.Get;
var response = (HttpWebResponse)request.GetResponse();
return XDocument.Load(new StreamReader(response.GetResponseStream()));
}